Add NopaqueForm as a base for all others

This commit is contained in:
Patrick Jentsch
2023-03-29 09:25:08 +02:00
parent 9de09519d6
commit 9b2353105e
13 changed files with 57 additions and 76 deletions

View File

@ -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=[

View File

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