Ejemplo n.º 1
0
    def post(self, qid):
        if self.current_user is not None:
            key = db.Key.from_path('Question', int(qid))
            question = db.get(key)

            if not question:
                self.error(404)
                return

            answer = self.request.get('answer')
            user_anon = self.request.get('user_anon')
            answerer_name = None
            if user_anon == "anon":
                answerer_name = "Anonymous"
            elif user_anon == "notanon":
                answerer_name = self.current_user['name']
            a = Answer(answer=answer, answered_by=self.current_user['name'], answerer_name=answerer_name)
            a.put()

            question.answers.append(a.key())
            question.put()
            self.redirect('/q/question/%s'%qid)
Ejemplo n.º 2
0
def new_answer(question_id):
    """Create a new answer corresponding to a question."""
    question = Question.get_by_id(question_id)
    answerform = AnswerForm()
    if request.method == "POST" and answerform.validate_on_submit():
        answer = Answer(
            content=answerform.content.data,
            added_by=users.get_current_user(),
            location=get_location(answerform.location.data),
            for_question=question,
            parent=question.key
        )
        try:
            answer.put()
            notify_new_answer(answer)
            answer_id = answer.key.id()

            flash(u'Answer %s successfully saved.' % answer_id, 'success')
            return redirect(url_for('answers_for_question', question_id=question_id))
        except CapabilityDisabledError:
            flash(u'App Engine Datastore is currently in read-only mode.', 'info')
            return redirect(url_for('answers_for_question', question_id=question_id))

    return render_template('new_answer.html', question=question, form=answerform)