Ejemplo n.º 1
0
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)