diff options
Diffstat (limited to 'blog/views.py')
-rw-r--r-- | blog/views.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/blog/views.py b/blog/views.py index ac56d21..182905b 100644 --- a/blog/views.py +++ b/blog/views.py @@ -1,15 +1,17 @@ -from elgarito.blog.models import Articulo, ArticuloForm, Comentario, ComentarioForm +from blog.models import Articulo, ArticuloForm, Comentario, ComentarioForm from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.http import HttpResponseRedirect from django.contrib.auth.decorators import user_passes_test + def index(request): lista_articulos = Articulo.objects.all() return render_to_response('blog/index.html', RequestContext(request, { 'lista_articulos': lista_articulos})) + def articulo(request, articulo_id): articulo = get_object_or_404(Articulo, pk=articulo_id) lista_comentarios = Comentario.objects.filter(articulo__pk=articulo_id) @@ -21,27 +23,29 @@ def articulo(request, articulo_id): 'form': form, 'user': request.user})) + @user_passes_test(lambda u: u.has_perm('blog.can_add_comentario'), login_url='/usuarios/login/') def crear_comentario(request, articulo_id): articulo = get_object_or_404(Articulo, pk=articulo_id) comentario = Comentario(id=None, - texto = request.POST['texto'], - autor = request.user, - articulo = articulo, - ) + texto=request.POST['texto'], + autor=request.user, + articulo=articulo, + ) comentario.save() return HttpResponseRedirect('/blog/%s/' % articulo_id) + @user_passes_test(lambda u: u.has_perm('blog.can_add_articulo'), login_url='/usuarios/login/') def nuevo(request): if request.POST: articulo = Articulo(id=None, - titulo = request.POST['titulo'], - texto = request.POST['texto'], - autor = request.user, - ) + titulo=request.POST['titulo'], + texto=request.POST['texto'], + autor=request.user, + ) articulo.save() return HttpResponseRedirect('/blog/%s/' % articulo.id) else: |