Example #1
0
 def post(self):
     result = self.user_login()
     try:
         login = result['user']
         username = cgi.escape(self.request.get('username'))
         name = cgi.escape(self.request.get('name'))
         lastname = cgi.escape(self.request.get('lastname'))
         #image = self.request.get('image')
         email = cgi.escape(self.request.get('email'))
         password = cgi.escape(self.request.get('password'))
         confirm = cgi.escape(self.request.get('confirm'))
         # Check that the proper fields are valid (password and confirm)
         if username != login.username:
             valid = db.check_username_is_valid(username)
             if not valid:
                 raise InvalidUsername()
         if password != confirm:
             raise Exception("Invalid Password")
         valid_email = db.check_email_is_valid(email)
         if not valid_email:
             raise Exception("E-mail already in use.")
         profile = db.get_profile(result['user'])
         if profile is None:
             profile = model.User()
         # Search for login and update username
         # Update password in login
         password = hashlib.sha512(password).hexdigest()
         login.username = username
         if login.login_type == 'stalker':
             login.access_token_key = password
         login.put()
         profile.login = login
         profile.name = name
         profile.lastname = lastname
         profile.email = email
         # Save Avatar
         #file_name = files.blobstore.create(
             #mime_type='application/octet-stream')
         #with files.open(file_name, 'a') as f:
             #f.write(str(image))
         #files.finalize(file_name)
         #profile.avatar = file_name
         profile.put()
         # Update Session
         stalker_user = '******' % username
         session = get_current_session()
         session["stalker_user"] = stalker_user
         session["stalker_request_key"] = password
     except InvalidUsername:
         self.redirect('/profile?error=%s' %
             "Invalid Username or already taken")
     except InvalidPassword:
         self.redirect('/profile?error=%s' % "Password don't match'")
     except Exception, reason:
         self.redirect('/profile?error=%s' % str(reason))
Example #2
0
 def post(self):
     email = cgi.escape(self.request.get('email'))
     username = cgi.escape(self.request.get('username'))
     password = cgi.escape(self.request.get('password'))
     password = hashlib.sha512(password).hexdigest()
     valid = db.check_username_is_valid(username)
     if valid:
         db.clean_previous_activation(email)
         validate = model.ValidateUser()
         validate.username = username
         validate.email = email
         validate.password = password
         validate.validate_code = str(uuid.uuid4())
         validate.put()
         self.send_validate_email(email, validate.validate_code)
         self.redirect('/validate?email=%s' % email)
     else:
         # Invalid username or already taken
         self.redirect('/SignUp?error=true')