def poll_detail(context, obj): can_vote_on_poll, reason = obj.can_vote_on_poll(context['request']) context.update({ 'object': obj, 'can_vote_on_poll': can_vote_on_poll, 'reason': reason }) if can_vote_on_poll and not context.has_key('form'): context['form'] = PollVoteForm(request=context['request'], poll=obj) return context
def poll_vote(request, poll_id, template): poll = get_object_or_404(Poll, id=poll_id) if request.method == 'POST': form = PollVoteForm(request.POST, request=request, poll=poll) if form.is_valid(): form.save() msg = _("Your vote has been saved") messages.success(request, msg, fail_silently=True) # If we're posting from a widget but the post is not by ajax then # we have to switch to the detail template. if (template == 'poll/poll_widget.html') and not request.is_ajax(): template = 'poll/poll_detail.html' else: form = PollVoteForm(request=request, poll=poll) extra = dict(form=form, object=poll, view_modifier=None) return render_to_response(template, extra, context_instance=RequestContext(request))