2020-03-09 18:35:02 +00:00
|
|
|
# Python imports
|
|
|
|
|
|
|
|
# Lib imports
|
2020-03-14 08:43:04 +00:00
|
|
|
from flask import request, render_template, flash, redirect, url_for
|
|
|
|
from flask_login import current_user, login_user, logout_user
|
2020-03-06 07:27:02 +00:00
|
|
|
|
2020-03-09 18:35:02 +00:00
|
|
|
# App imports
|
2020-03-14 08:43:04 +00:00
|
|
|
from core import app, bcrypt, db, User, LoginForm
|
2020-10-30 23:25:34 +00:00
|
|
|
from core.utils import MessageHandler # Get simple message processor
|
2020-03-09 18:35:02 +00:00
|
|
|
|
2020-03-06 07:27:02 +00:00
|
|
|
|
2020-03-09 18:35:02 +00:00
|
|
|
msgHandler = MessageHandler()
|
|
|
|
TITLE = app.config['TITLE']
|
2020-03-06 07:27:02 +00:00
|
|
|
|
2020-10-30 23:25:34 +00:00
|
|
|
@app.route('/app-login', methods=['GET', 'POST'])
|
|
|
|
def app_login():
|
2020-03-14 08:43:04 +00:00
|
|
|
if current_user.is_authenticated:
|
|
|
|
return redirect(url_for("home"))
|
|
|
|
|
2020-03-14 06:15:31 +00:00
|
|
|
_form = LoginForm()
|
2020-03-14 08:43:04 +00:00
|
|
|
if _form.validate_on_submit():
|
|
|
|
user = db.session.query(User).filter(User.username == _form.username.data).first()
|
|
|
|
|
|
|
|
if user and bcrypt.check_password_hash(user.password, _form.password.data):
|
|
|
|
login_user(user, remember=False)
|
|
|
|
flash("Logged in successfully!", "success")
|
|
|
|
return redirect(url_for("home"))
|
|
|
|
|
|
|
|
flash("Username or password incorrect! Please try again...", "danger")
|
|
|
|
|
2020-11-05 18:50:45 +00:00
|
|
|
return render_template('pages/login.html', title=TITLE, form=_form)
|
2020-03-14 08:43:04 +00:00
|
|
|
|
2020-03-09 18:35:02 +00:00
|
|
|
|
2020-10-30 23:25:34 +00:00
|
|
|
@app.route('/app-logout')
|
|
|
|
def app_logout():
|
2020-03-14 08:43:04 +00:00
|
|
|
logout_user()
|
|
|
|
flash("Logged out successfully!", "success")
|
|
|
|
return redirect(url_for("home"))
|