X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/dbb1ae2cf25105f7a3831961b08386a1326baef8..b8e94e0e7cc7576cbaacd3c737d6ffca6b12db53:/apps/polls/views.py diff --git a/apps/polls/views.py b/apps/polls/views.py index ef5f50f5e..79540c66a 100644 --- a/apps/polls/views.py +++ b/apps/polls/views.py @@ -2,34 +2,36 @@ # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # -from django.views.decorators.http import require_http_methods -from django.shortcuts import get_object_or_404, redirect, render_to_response -from django.core.urlresolvers import reverse +from django.core.urlresolvers import reverse +from django.shortcuts import get_object_or_404, redirect, render_to_response from django.template import RequestContext +from django.views.decorators import cache +from django.views.decorators.http import require_http_methods -from .models import Poll, PollItem +from .models import Poll, PollItem from .forms import PollForm - -@require_http_methods(['GET', 'POST']) + +@cache.never_cache +@require_http_methods(['GET', 'POST']) def poll(request, slug): poll = get_object_or_404(Poll, slug=slug, open=True) - if request.method == 'POST': + if request.method == 'POST': redirect_to = reverse('poll', args = [slug]) - form = PollForm(request.POST, poll = poll) - if form.is_valid(): - if not poll.voted(request.session): - try: + form = PollForm(request.POST, poll = poll) + if form.is_valid(): + if not poll.voted(request.session): + try: poll_item = PollItem.objects.filter(pk=form.cleaned_data['vote'], poll=poll).get() - except PollItem.DoesNotExist: - pass - else: + except PollItem.DoesNotExist: + pass + else: poll_item.vote(request.session) return redirect(redirect_to) elif request.method == 'GET': context = RequestContext(request) - context['poll'] = poll + context['poll'] = poll context['voted_already'] = poll.voted(request.session) return render_to_response('polls/poll.html', context)