def post(self): signup = Signup() self.response.headers['Content-Type'] = 'text/html' errors = {} username = self.request.get('username') password = self.request.get('password') verify = self.request.get('verify') email = self.request.get('email') if not signup.is_valid_username(username): errors['username_error'] = 'Invalid username.' elif not signup.is_unique_username(username): errors['username_error'] = 'Username taken.' if not signup.is_valid_password(password): errors['password_error'] = 'Invalid password.' elif password != verify: errors['verify_error'] = 'Passwords don\'t match.' if not signup.is_valid_email(email): errors['email_error'] = 'Invalid email.' username = self.escape_html(username) email = self.escape_html(email) if errors: self.write_template('signup.html', username = username, email = email, **errors) else: user_id = UserDataHandler.put(username, password, email) user_id_hash = Encryption.make_user_id_hash(user_id) self.response.headers.add_header('Set-Cookie', 'user_id=%(user_id)s|%(user_id_hash)s; Path=/' % {'user_id': user_id, 'user_id_hash': user_id_hash}) self.redirect('/unit5/welcome')
def post(self): self.response.headers['Content-Type'] = 'text/html' username = self.request.get('username') password = self.request.get('password') username = self.escape_html(username) user_list = UserDataHandler.get_by_username(username) if user_list and Encryption.is_valid_password(username, password, user_list[0].password): user = user_list[0] user_id = user.key().id() user_id_hash = Encryption.make_user_id_hash(user_id) self.response.headers.add_header('Set-Cookie', 'user_id=%(user_id)s|%(user_id_hash)s; Path=/' % {'user_id': user_id, 'user_id_hash': user_id_hash}) self.redirect('/unit5/welcome') else: self.write_template('login.html', username = username, login_error = 'invalid login')