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)
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)