def answer_vote(request, question_id, answer_id): """Vote for Helpful/Not Helpful answers""" answer = get_object_or_404(Answer, pk=answer_id, question=question_id) if answer.question.is_locked: raise PermissionDenied if not answer.has_voted(request): vote = AnswerVote(answer=answer) if 'helpful' in request.REQUEST: vote.helpful = True AnswerMarkedHelpfulAction(answer.creator).save() message = _('Glad to hear it!') else: AnswerMarkedNotHelpfulAction(answer.creator).save() message = _('Sorry to hear that.') if request.user.is_authenticated(): vote.creator = request.user else: vote.anonymous_id = request.anonymous.anonymous_id vote.save() ua = request.META.get('HTTP_USER_AGENT') if ua: vote.add_metadata('ua', ua[:1000]) # 1000 max_length statsd.incr('questions.votes.answer') else: message = _('You already voted on this reply.') if request.is_ajax(): return HttpResponse(json.dumps({'message': message})) return HttpResponseRedirect(answer.get_absolute_url())
def answer_vote(request, question_id, answer_id): """Vote for Helpful/Not Helpful answers""" answer = get_object_or_404(Answer, pk=answer_id, question=question_id) if answer.question.is_locked: raise PermissionDenied if not answer.has_voted(request): vote = AnswerVote(answer=answer) if 'helpful' in request.POST: vote.helpful = True message = _('Glad to hear it!') else: message = _('Sorry to hear that.') if request.user.is_authenticated(): vote.creator = request.user else: vote.anonymous_id = request.anonymous.anonymous_id vote.save() else: message = _('You already voted on this reply.') if request.is_ajax(): return HttpResponse(json.dumps({'message': message})) return HttpResponseRedirect(answer.get_absolute_url())
def answer_vote(request, question_id, answer_id): """Vote for Helpful/Not Helpful answers""" answer = get_object_or_404(Answer, pk=answer_id, question=question_id) if answer.question.is_locked: raise PermissionDenied if not answer.has_voted(request): vote = AnswerVote(answer=answer) if 'helpful' in request.POST: vote.helpful = True if request.user.is_authenticated(): vote.creator = request.user else: vote.anonymous_id = request.anonymous.anonymous_id vote.save() return HttpResponseRedirect(answer.get_absolute_url())
def vote_foo_answer(request, answer_id, value): answer = get_object_or_404(Answer, pk=answer_id) question_id = answer.question_id if not request.user.is_authenticated(): return redirect('questions:show', question_id) user_id = request.user.id vote = AnswerVote.objects.filter(user_id=user_id, answer=answer).first() if vote is None: vote = AnswerVote() vote.user_id = user_id vote.answer = answer vote.value = value vote.save() answer.update_votes() answer.save() return redirect('questions:show', question_id)
def answer_vote(**kwargs): defaults = dict(created=datetime.now(), helpful=False) defaults.update(kwargs) if 'creator' not in kwargs and 'creator_id' not in kwargs: defaults['creator'] = user(save=True) return AnswerVote(**defaults)
def answer_vote(request, question_id, answer_id): """Vote for Helpful/Not Helpful answers""" answer = get_object_or_404(Answer, pk=answer_id, question=question_id) if answer.question.is_locked: raise PermissionDenied if not answer.has_voted(request): vote = AnswerVote(answer=answer) if "helpful" in request.REQUEST: vote.helpful = True AnswerMarkedHelpfulAction(answer.creator).save() message = _("Glad to hear it!") else: AnswerMarkedNotHelpfulAction(answer.creator).save() message = _("Sorry to hear that.") if request.user.is_authenticated(): vote.creator = request.user else: vote.anonymous_id = request.anonymous.anonymous_id vote.save() if "referrer" in request.REQUEST: referrer = request.REQUEST.get("referrer") vote.add_metadata("referrer", referrer) if referrer == "search" and "query" in request.REQUEST: vote.add_metadata("query", request.REQUEST.get("query")) ua = request.META.get("HTTP_USER_AGENT") if ua: vote.add_metadata("ua", ua[:1000]) # 1000 max_length statsd.incr("questions.votes.answer") else: message = _("You already voted on this reply.") if request.is_ajax(): return HttpResponse(json.dumps({"message": message})) return HttpResponseRedirect(answer.get_absolute_url())