def question_details(request, question_key): ctx = {} question = get_object_or_404(Question, key=question_key) if request.method == 'POST': user = users.get_current_user() if user is None: return redirect(users.create_login_url(request.path)) initial = { 'author': users.get_current_user(), 'question': question, } form = AnswerForm(request.POST, initial=initial) if form.is_valid(): # XXX FIXME - why initial data does not exist in cleaned data? form.cleaned_data.update(initial) form.save() return redirect(reverse('questions_question_list')) ctx['answer_form'] = form else: ctx['answer_form'] = AnswerForm() ctx['question'] = question return render(request, 'questions/question_details.html', ctx)
def question_vote(request, question_key, upvote): question = get_object_or_404(Question, key=question_key) user = users.get_current_user() # check it not already voted.. vote = QuestionVote.all() \ .filter('question =', question).filter('user ='******'Duplicated vote: %s;;%s', question, user) redirect_url = request.META.get('HTTP_REFERER', None) if redirect_url is None: logging.warning('No referer. Fallback to questions list') redirect_url = reverse('questions_question_list') return redirect(redirect_url)