Skip to content
Snippets Groups Projects
routes.py 2.09 KiB
from flask import flash, redirect, render_template, url_for
from flask_login import current_user, login_required, login_user
from app.auth.forms import LoginForm
from app.models import Corpus, User
from . import bp


@bp.route('', methods=['GET', 'POST'])
def index():
    form = LoginForm(prefix='login-form')
    if form.validate_on_submit():
        user = User.query.filter((User.email == form.user.data.lower()) | (User.username == form.user.data)).first()
        if user and user.verify_password(form.password.data):
            login_user(user, form.remember_me.data)
            flash('You have been logged in')
            return redirect(url_for('.dashboard'))
        flash('Invalid email/username or password', category='error')
        redirect(url_for('.index'))
    return render_template('main/index.html.j2', form=form, title='nopaque')


@bp.route('/faq')
def faq():
    return render_template('main/faq.html.j2', title='Frequently Asked Questions')


@bp.route('/dashboard')
@login_required
def dashboard():
    # users = [
    #     u.to_json_serializeable(filter_by_privacy_settings=True) for u
    #     in User.query.filter(User.is_public == True, User.id != current_user.id).all()
    # ]
    # corpora = [
    #     c.to_json_serializeable() for c
    #     in Corpus.query.filter(Corpus.is_public == True, Corpus.user != current_user).all()
    # ]
    return render_template(
        'main/dashboard.html.j2',
        title='Dashboard',
        # users=users,
        # corpora=corpora
    )


@bp.route('/dashboard2')
@login_required
def dashboard2():
    return render_template('main/dashboard2.html.j2', title='Dashboard')


@bp.route('/user_manual')
def user_manual():
    return render_template('main/user_manual.html.j2', title='User manual')


@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')