def register(): if request.method == 'POST': name = request.form.get('name') pw = request.form.get('pw') email = request.form.get('email') u = UserModel.query.filter_by(email=email).first() valid_email = check_email(email) #If user data passes our validation, we proceed. if valid_email and (len(pw) >= 8) and (len(name.strip()) >= 1) and not (' ' in pw): if u: return jsonify({'message': 'user already exists.'}) pw_hash = generate_password_hash(pw) u = UserModel(email=email, name=name, password=pw_hash) u.save() return redirect(url_for('.login')) else: data = defaultdict(lambda: '') if not valid_email: data['email'] = 'Please enter a valid email.' if ' ' in pw: data['pw'] = ('Password can\'t have spaces') if len(pw) < 8: data['pw'] = ('Password should be minimum 8 characters.') if len(name.strip()) < 1: data['name'] = ('Please enter a name.') return render_template('auth/register.html', errors=data) return render_template('auth/register.html')
def login(): if request.method == 'POST': pw = request.form.get('pw') email = request.form.get('email') print(email, pw) valid_email = check_email(email) if valid_email: u = UserModel.query.filter_by(email=email).first() if u: if check_password_hash(u.password, pw): login_user(u) print('user logged in.') return redirect(url_for('dashboard.dash')) else: return render_template('auth/login.html', errors={'pw': 'wrong password!'}) else: return render_template( 'auth/login.html', errors={ 'email': 'No user with this email address exists.' }) else: return render_template( 'auth/login.html', errors={'email': 'Email you entered is invalid.'}) return render_template('auth/login.html')
def post(self): user_username = self.request.get('username') user_password = self.request.get('password') user_verify = self.request.get('verify') user_email = self.request.get('email') username_error = helpers.check_username(user_username) password_error = helpers.check_password(user_password) verify_error = '' if not password_error: verify_error = helpers.check_verify(user_verify, user_password) email_error = helpers.check_email(user_email) if (username_error or password_error or verify_error or email_error): self.write_form(user_username, '', '', user_email, username_error, password_error, verify_error, email_error) else: self.redirect('/welcome?username=%s' % user_username)
def post(self): self.user_username = self.request.get('username') self.user_password = self.request.get('password') self.user_verify = self.request.get('verify') self.user_email = self.request.get('email') username_error = helpers.check_username(self.user_username) password_error = helpers.check_password(self.user_password) verify_error = '' if not password_error: verify_error = helpers.check_verify(self.user_verify, self.user_password) email_error = helpers.check_email(self.user_email) if (username_error or password_error or verify_error or email_error): self.write_form(self.user_username, '', '', self.user_email, username_error, password_error, verify_error, email_error) else: self.done()
def validate_email(cls, email): return check_email(email)