diff options
Diffstat (limited to 'tablon/views.py')
-rw-r--r-- | tablon/views.py | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/tablon/views.py b/tablon/views.py index 3834113..3e0c851 100644 --- a/tablon/views.py +++ b/tablon/views.py @@ -1,12 +1,11 @@ # vim: set fileencoding=utf-8 ts=4 shiftwidth=4 softtabstop=4 expandtab: -from elgarito.tablon.models import Foro, Tema, Mensaje, MensajeForm, Visita -from elgarito.tablon.decorators import * -from django.contrib.auth.models import User +from tablon.models import Foro, Tema, Mensaje, MensajeForm, Visita +from tablon.decorators import foro_can, tema_can 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 -from datetime import datetime +from django.utils import timezone + def index(request): lista_foros = Foro.objects.all() @@ -15,6 +14,7 @@ def index(request): 'lista_foros': lista_foros, })) + @foro_can('read') def foro(request, foro_id): foro = get_object_or_404(Foro, pk=foro_id) @@ -25,6 +25,7 @@ def foro(request, foro_id): 'lista_temas': lista_temas, })) + @tema_can('read') def tema(request, tema_id): tema = get_object_or_404(Tema, pk=tema_id) @@ -34,17 +35,17 @@ def tema(request, tema_id): try: v = Visita.objects.get(usuario=request.user.id, tema=tema_id) ult_visita = v.fecha - v.fecha = datetime.now() + v.fecha = timezone.now() except Visita.DoesNotExist: v = Visita(usuario=request.user, tema=tema) - ult_visita = datetime.min - v.save(); + ult_visita = timezone.min + v.save() else: - ult_visita = datetime.now() + ult_visita = timezone.now() visitados = {} for m in lista_mensajes: if (m.created_on > ult_visita): - visitados[m.id] = 1; + visitados[m.id] = 1 return render_to_response('tablon/tema.html', RequestContext(request, { @@ -55,6 +56,7 @@ def tema(request, tema_id): 'visitados': visitados, })) + @foro_can('write') def nuevo_tema(request, foro_id): if request.POST: @@ -64,14 +66,14 @@ def nuevo_tema(request, foro_id): titulo=request.POST['titulo'], foro=foro, autor=usuario, - ) + ) tema.save() mensaje = Mensaje(id=None, titulo=request.POST['titulo'], texto=request.POST['texto'], tema=tema, autor=usuario, - ) + ) mensaje.save() return HttpResponseRedirect('/tablon/tema/%s/' % tema.id) else: @@ -83,6 +85,7 @@ def nuevo_tema(request, foro_id): 'foro': foro, })) + @tema_can('write') def responder(request, tema_id): if request.POST: @@ -92,7 +95,7 @@ def responder(request, tema_id): texto=request.POST['texto'], tema=tema, autor=request.user, - ) + ) mensaje.save() return HttpResponseRedirect('/tablon/tema/%s/' % tema.id) |