Exemplo n.º 1
0
 def post(self):
     username = self.request.get('username')
     password = self.request.get('password')
     verify = self.request.get('verify')
     email = self.request.get('email')
     uError = pError = vError = eError = ''
     if not validUser(username): uError = 'That is not a valid user name.'
     else:
         q = db.GqlQuery('select * from User where name = :1', username)
         user = q.get()
         if user: uError = 'That user name already exists'
     if not validPassword(password):
         pError = 'That is not a valid password.'
     if password != verify: vError = 'The passwords do not match.'
     if email and not validEmail(email):
         eError = 'That is not a valid email address.'
     if uError or pError or vError or eError:
         self.render_signup(username, uError, pError, vError, email, eError)
     else:
         pwHasher = PasswordHash()
         pwHash = pwHasher.make_pw_hash(username, password)
         user = User(name = username, pwHash = pwHash, email = email)
         user.put()
         cookieHasher = CookieHash()
         cookieHash = cookieHasher.make_secure_val(str(user.key().id()))
         self.response.set_cookie('user_id', cookieHash)
         url = self.request.url
         url = url[:url.rfind('/signup')]
         url = url[url.rfind('/') + 1:]
         self.redirect('/%s/' % url)