deferred.defer(requestEmailConfirmation, submission.key) self.jsonReply(submission.hashify()) TerveyskyselySubmission.collectionHandler(TerveyskyselySubmissionCollectionHandler) class TerveyskyselySubmissionHandler (HardenedHandler): def get_(self, user, key): self.genericIndividualGet(user, key) def post_(self, user, key): self.genericIndividualPost(user, key) TerveyskyselySubmission.individualHandler(TerveyskyselySubmissionHandler) class TerveyskyselyConfirmationHandler(webapp2.RequestHandler): def get(self, key): logging.info("Confirmation %s" % key) submissions = TerveyskyselySubmission.gql("WHERE confirmation_code = :1", key) # It is theoretically possible that there are multiple submissions with the # same confirmation code, but we simply confirm all of them. for submission in submissions: submission.confirmation_code = None submission.submitter_confirmed = True submission.put() self.redirect('/#/terveyskysely/kiitos_vastauksesta')