Newer
Older
from flask import redirect, url_for, flash, make_response, render_template
from flask_login import logout_user, login_user, login_required, current_user
from flask_login import login_required, login_user
from . import auth
from werkzeug.security import generate_password_hash, check_password_hash
# Log in as guest
# You can write announcements as guest
@auth.route('/register', methods=['GET','POST'])
def register():
""" Create a new user """
form = RegistrationForm()
if form.validate_on_submit():
existing_user = db.session.query(User).filter(User.username == form.username.data).first()
if existing_user or form.username.data == 'Guest':
response = redirect(url_for('auth.register'))
flash('Invalid username and/or password, please try again')
password = generate_password_hash(form.password.data,method='sha256'),
role = 'USER'
)
db.session.add(new_user)
db.session.commit()
flash('Registered successfully.')
response = make_response(render_template('./register.html', register_form = form))
@auth.route('/login', methods=['GET', 'POST'])
def login():
if current_user.is_authenticated: # if you are logged in, you cannot log in again
form = LoginForm()
if form.validate_on_submit():
user = db.session.query(User).filter(User.username == form.username.data).first()
password = form.password.data
if user and check_password_hash(user.password,password):
response = make_response(render_template('./login.html', form = form))
@login_required
def logout():
logout_user()