def order_vote(request, sid): """ vote for order """ vote = get_object_or_404(Vote, sid=sid, is_proceeded=False) if settings.ALLOW_SUPERUSER_VOTE: if vote.client != request.user and not request.user.is_superuser: raise Http404("Not allowed") else: if vote.client != request.user: raise Http404("Not allowed") dt = get_service_data(request, pk=vote.order.container.owner.pk) dt.update({'_template': 'catalog/service_rating.html'}) form_class = generate_vote_form(vote, VoteOrderForm) form = form_class(request.POST or None, instance=vote) # VoteOrderForm(request.POST or None, instance=vote) if request.method == 'POST': if form.is_valid(): form.save(commit=False) instance = form.instance instance.is_proceeded = True instance.save() # making message messages.info( request, _("Thank you, your vote proceeded") ) return dt # {'redirect': 'catalog:order-vote-success'} dt.update({ 'vote_form': form, }) return dt
def render(self, context): vote = self.vote.resolve(context, ignore_failures=True) if isinstance(vote, Vote): form_class = generate_vote_form(vote, VoteOrderForm) context[self.varname] = form_class(None, instance=vote) return ''