mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +00:00 
			
		
		
		
	Merge base templates. Add database support. Add blueprint for main.
This commit is contained in:
		@@ -0,0 +1,11 @@
 | 
			
		||||
from flask_wtf import FlaskForm
 | 
			
		||||
from wtforms import StringField, PasswordField, BooleanField, SubmitField
 | 
			
		||||
from wtforms.validators import DataRequired, Length, Email
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class LoginForm(FlaskForm):
 | 
			
		||||
    email = StringField('Email', validators=[DataRequired(), Length(1, 64),
 | 
			
		||||
                                             Email()])
 | 
			
		||||
    password = PasswordField('Password', validators=[DataRequired()])
 | 
			
		||||
    remember_me = BooleanField('Keep me logged in')
 | 
			
		||||
    submit = SubmitField('Log In')
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,31 @@
 | 
			
		||||
from flask import render_template
 | 
			
		||||
from flask import flash, redirect, render_template, request, url_for
 | 
			
		||||
from flask_login import login_required, login_user, logout_user
 | 
			
		||||
from . import auth
 | 
			
		||||
from .forms import LoginForm
 | 
			
		||||
from ..models import User
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@auth.route('/login', methods=['GET', 'POST'])
 | 
			
		||||
def login():
 | 
			
		||||
    return render_template('auth/login.html.j2', title='Log in')
 | 
			
		||||
    form = LoginForm()
 | 
			
		||||
    if form.validate_on_submit():
 | 
			
		||||
        user = User.query.filter_by(email=form.email.data).first()
 | 
			
		||||
        if user is not None and user.verify_password(form.password.data):
 | 
			
		||||
            login_user(user, form.remember_me.data)
 | 
			
		||||
            next = request.args.get('next')
 | 
			
		||||
            if next is None or not next.startswith('/'):
 | 
			
		||||
                next = url_for('main.index')
 | 
			
		||||
            return redirect(next)
 | 
			
		||||
        flash('Invalid username or password.')
 | 
			
		||||
    return render_template('auth/login.html.j2', form=form, title='Log in')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@auth.route('/logout')
 | 
			
		||||
@login_required
 | 
			
		||||
def logout():
 | 
			
		||||
    logout_user()
 | 
			
		||||
    flash('You have been logged out.')
 | 
			
		||||
    return redirect(url_for('main.index'))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@auth.route('/register', methods=['GET', 'POST'])
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user