Beispiel #1
0
 def post(self):
     
     # NOTES: this kind of technique I'm using won't scale well.  Need to
     # transition to a system where a dict is contructed dynmically.
     
     username = self.request.get('username').lower()
     password = self.request.get('password')
     verify = self.request.get('verify')
     email = self.request.get('email')
     
     vdata = dict(self.request.params)
     
     submit_error = False
     if not utils.valid_username(username):
         vdata['e_username'] = "******"
         submit_error = True
         
     if utils.valid_password(password):
         if password != verify:
             vdata['e_verify'] = "Your passwords didn't match."
             submit_error = True
     else:
         vdata['e_password'] = "******"
         submit_error = True
         
     if submit_error:
         self.render('signup_form.html', vdata=vdata)
     else:
         #form filled out successfully, check DB for dupes            
         user_rec = Users.by_username(username)
         if user_rec:
             # dupe!!!
             vdata['e_username'] = "******"
             self.render('signup_form.html', vdata=vdata)
         else:
             # sign up form was successful.  Now, first create a password
             # hash and create a Users entity.
             new_user = Users.register(username, password, email)
             new_user.put()
             
             # now we want to store a cookie indicating a user.  send
             # the "Set-Cookie" data in the redirect response :)
             user_id = new_user.key().id()
             self.set_secure_cookie('user_id', user_id)
             self.redirect(URL_ROOT)