mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-12 00:50:40 +00:00
Add NopaqueForm as a base for all others
This commit is contained in:
@ -1,4 +1,3 @@
|
||||
from flask_wtf import FlaskForm
|
||||
from wtforms import (
|
||||
BooleanField,
|
||||
PasswordField,
|
||||
@ -7,11 +6,12 @@ from wtforms import (
|
||||
ValidationError
|
||||
)
|
||||
from wtforms.validators import InputRequired, Email, EqualTo, Length, Regexp
|
||||
from app.forms import NopaqueForm
|
||||
from app.models import User
|
||||
from . import USERNAME_REGEX
|
||||
|
||||
|
||||
class RegistrationForm(FlaskForm):
|
||||
class RegistrationForm(NopaqueForm):
|
||||
email = StringField(
|
||||
'Email',
|
||||
validators=[InputRequired(), Email(), Length(max=254)]
|
||||
@ -55,19 +55,19 @@ class RegistrationForm(FlaskForm):
|
||||
raise ValidationError('Username already in use')
|
||||
|
||||
|
||||
class LoginForm(FlaskForm):
|
||||
class LoginForm(NopaqueForm):
|
||||
user = StringField('Email or username', validators=[InputRequired()])
|
||||
password = PasswordField('Password', validators=[InputRequired()])
|
||||
remember_me = BooleanField('Keep me logged in')
|
||||
submit = SubmitField()
|
||||
|
||||
|
||||
class ResetPasswordRequestForm(FlaskForm):
|
||||
class ResetPasswordRequestForm(NopaqueForm):
|
||||
email = StringField('Email', validators=[InputRequired(), Email()])
|
||||
submit = SubmitField()
|
||||
|
||||
|
||||
class ResetPasswordForm(FlaskForm):
|
||||
class ResetPasswordForm(NopaqueForm):
|
||||
password = PasswordField(
|
||||
'New password',
|
||||
validators=[
|
||||
|
@ -34,7 +34,7 @@ def before_request():
|
||||
def register():
|
||||
if current_user.is_authenticated:
|
||||
return redirect(url_for('main.dashboard'))
|
||||
form = RegistrationForm(prefix='registration-form')
|
||||
form = RegistrationForm()
|
||||
if form.validate_on_submit():
|
||||
try:
|
||||
user = User.create(
|
||||
@ -70,7 +70,7 @@ def register():
|
||||
def login():
|
||||
if current_user.is_authenticated:
|
||||
return redirect(url_for('main.dashboard'))
|
||||
form = LoginForm(prefix='login-form')
|
||||
form = LoginForm()
|
||||
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):
|
||||
@ -144,7 +144,7 @@ def confirm(token):
|
||||
def reset_password_request():
|
||||
if current_user.is_authenticated:
|
||||
return redirect(url_for('main.dashboard'))
|
||||
form = ResetPasswordRequestForm(prefix='reset-password-request-form')
|
||||
form = ResetPasswordRequestForm()
|
||||
if form.validate_on_submit():
|
||||
user = User.query.filter_by(email=form.email.data.lower()).first()
|
||||
if user is not None:
|
||||
@ -174,7 +174,7 @@ def reset_password_request():
|
||||
def reset_password(token):
|
||||
if current_user.is_authenticated:
|
||||
return redirect(url_for('main.dashboard'))
|
||||
form = ResetPasswordForm(prefix='reset-password-form')
|
||||
form = ResetPasswordForm()
|
||||
if form.validate_on_submit():
|
||||
if User.reset_password(token, form.password.data):
|
||||
db.session.commit()
|
||||
|
Reference in New Issue
Block a user