Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)