def post_(self, user): answer = SurveyAnswer() answer.populateFromRequest(self.request.Params) answer.Put() summary = SurveyAnswerSummary.get_or_insert("%s" % answer.year, parent=answer.survey_question) if user: recordAnswer(summary.key, answer) self.jsonReply(answer.hashify())
submission.populateFromRequest(self.request.Params) submission.Put() self.jsonReply(submission.hashify()) SurveySubmission.collectionHandler(SurveySubmissionCollectionHandler) class SurveyAnswerHandler (HardenedHandler): def get_(self, user, key): self.genericIndividualPost(user, key) def post_(self, user, key): self.genericIndividualPost(user, key) SurveyAnswer.individualHandler(SurveyAnswerHandler) @ndb.transactional def recordAnswer(summary_key, answer): summary = summary_key.get() summary.survey_question = answer.survey_question summary.year = answer.year if answer.yesno_answer is not None or (answer.free_text_answer is not None and len(answer.free_text_answer) > 0): summary.answer_count = summary.answer_count + 1 if answer.yesno_answer is not None: if answer.yesno_answer: summary.yes_count = summary.yes_count + 1 else: summary.no_count = summary.no_count + 1 summary.put()