def login(): if g.user is not None and g.user.is_authenticated(): return redirect(url_for('index')) loginform = LoginForm(prefix='loginform') registerform = RegisterForm(prefix='registerform') if loginform.validate_on_submit(): try: loginform.check_user(loginform.username.data, loginform.password.data) except ValidationError: return render_template('login.html', loginform=loginform, registerform=registerform) else: if User.query.filter_by( username=loginform.username.data).first() is not None: user = User.query.filter_by( username=loginform.username.data).first() else: user = User.query.filter_by( email=loginform.username.data).first() login_user(user) session['remember_me'] = loginform.remember_me.data flash('Successful login') return redirect('/index') elif registerform.validate_on_submit(): username = registerform.username.data email = registerform.email.data password = registerform.password.data try: registerform.check(username, email) except ValidationError: return render_template('login.html', loginform=loginform, registerform=registerform, registererror=True) else: newuser = User(username=username, email=email) newuser.set_password(password) db.session.add(newuser) db.session.commit() usr = User.query.filter_by(username=username).first() login_user(usr) flash('Successful registration') return redirect('/index') return render_template('login.html', loginform=loginform, registerform=registerform)
def login(): if g.user is not None and g.user.is_authenticated(): return redirect(url_for('index')) loginform = LoginForm(prefix='loginform') registerform = RegisterForm(prefix='registerform') if loginform.validate_on_submit(): try: loginform.check_user(loginform.username.data, loginform.password.data) except ValidationError: return render_template('login.html', loginform = loginform, registerform = registerform) else: if User.query.filter_by(username=loginform.username.data).first() is not None: user = User.query.filter_by(username=loginform.username.data).first() else: user = User.query.filter_by(email=loginform.username.data).first() login_user(user) session['remember_me'] = loginform.remember_me.data flash('Successful login') return redirect('/index') elif registerform.validate_on_submit(): username = registerform.username.data email = registerform.email.data password = registerform.password.data try: registerform.check(username, email) except ValidationError: return render_template('login.html', loginform = loginform, registerform = registerform, registererror=True) else: newuser = User(username=username, email=email) newuser.set_password(password) db.session.add(newuser) db.session.commit() usr=User.query.filter_by(username=username).first() login_user(usr) flash('Successful registration') return redirect('/index') return render_template('login.html', loginform = loginform, registerform = registerform)