def dogOwnerRoleConfirmed (role_key, user_id): role = role_key.get() profile_key = Profile.byUserId(user_id) query = TerveyskyselySubmission.gql("WHERE koira = :1 and answered_by = :2", role.dog, profile_key) for submission in query: logging.info("roleConfirmed: %s" % submission) submission.owner_confirmed = True submission.Put()
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')
def get_(self, user): if user: user_id = user.user_id() else: user_id = None params = self.request.params query = TerveyskyselySubmission.query().order(TerveyskyselySubmission.created) if 'koira' in params: koira = self.lookupKey(param='koira') query = query.filter(TerveyskyselySubmission.koira == koira) if 'koira_defined' in params: defined = params['koira_defined'] == 'true' query = query.filter(TerveyskyselySubmission.koira_defined == defined) if 'submitter_confirmed' in params: confirmed = params['submitter_confirmed'] == 'true' query = query.filter(TerveyskyselySubmission.submitter_confirmed == confirmed) self.genericGetCollection(query, user_id=user_id)
def post_(self, user): submission = TerveyskyselySubmission() submission.populateFromRequest(self.request.Params) if user: submission.answered_by = Profile.byUser(user) else: # Used for validating the submission via email link. submission.confirmation_code = uuid.uuid4().hex submission.submitter_confirmed = False submission.owner_confirmed = False submission.Put() if user: deferred.defer(processSubmission, user.user_id(), user.nickname(), submission.key) else: deferred.defer(requestEmailConfirmation, submission.key) self.jsonReply(submission.hashify())
# Used for validating the submission via email link. submission.confirmation_code = uuid.uuid4().hex submission.submitter_confirmed = False submission.owner_confirmed = False submission.Put() if user: deferred.defer(processSubmission, user.user_id(), user.nickname(), submission.key) else: 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)