def post(self): name = self.request.get('username') password = self.request.get('password') verify = self.request.get('verify') email = self.request.get('email') error = {} # let's check if user already exists user = User.by_name(name) if user: error['name'] = "User already exists" # let's check if a name it's been introduced and its format name_ok = name and validate(name, '^[a-zA-Z0-9_-]{3,20}$') if not name_ok: error['name'] = "That's not a valid user name" # let's check there is a password and its format password_ok = password and validate(password, '^.{3,20}$') if not password_ok: error['password'] = "******" # let's check the verify password is the same as the password if verify != password: error['verify'] = "Your passwords didn't match" # not needed, but if there is an email let's check its format if email != '': if not validate(email, '^[\S]+@[\S]+.[\S]+$'): error['email'] = "That's not a valid email" # if everything went right, let's introduce our new friend if not error: pw_hash = make_pw_hash(name, password) user = User(name=name, password=pw_hash, email=email) user.put() # now we logged the user in self.login(user) self.redirect('/') # if something went wrong, let's render again showing the error self.render('sign-up.html', name=name, email=email, error=error)
def post(self): name = self.request.get('username') password = self.request.get('password') error = {} # let's check if user already exists user = User.by_name(name) if not user: error['name'] = "User doesn't exist" # and now the password else: password_ok = password and valid_pw(name, password, user.password) if not password_ok: error['password'] = "******" # if everything is right, let's log in the user if not error: self.login(user) self.redirect('/') # if something is wrong, let's render again showing the error self.render('log-in.html', name=name, error=error)