from flask import flash, redirect, render_template, url_for from flask_login import login_required, login_user from . import bp from ..auth.forms import LoginForm from ..models import User @bp.route('/', methods=['GET', 'POST']) def index(): form = LoginForm(prefix='login-form') if form.validate_on_submit(): user = User.query.filter_by(username=form.user.data).first() if user is None: user = User.query.filter_by(email=form.user.data.lower()).first() if user is not None and user.verify_password(form.password.data): login_user(user, form.remember_me.data) return redirect(url_for('.dashboard')) flash('Invalid email/username or password.') return render_template('main/index.html.j2', form=form, title='nopaque') @bp.route('/about_and_faq') def about_and_faq(): return render_template('main/about_and_faq.html.j2', title='About and faq') @bp.route('/dashboard') @login_required def dashboard(): return render_template('main/dashboard.html.j2', title='Dashboard') @bp.route('/news') def news(): return render_template('main/news.html.j2', title='News') @bp.route('/privacy_policy') def privacy_policy(): return render_template('main/privacy_policy.html.j2', title='Privacy statement (GDPR)') @bp.route('/terms_of_use') def terms_of_use(): return render_template('main/terms_of_use.html.j2', title='Terms of Use')