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))
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')