Remove current_app and current_user usage in forms.

This commit is contained in:
Patrick Jentsch
2021-09-13 16:36:48 +02:00
parent 10483c1e45
commit 81ed16603d
8 changed files with 34 additions and 29 deletions

View File

@ -1,9 +1,8 @@
from flask import current_app
from flask_login import current_user
from flask_wtf import FlaskForm
from wtforms import (BooleanField, PasswordField, SelectField, StringField,
SubmitField, ValidationError)
from wtforms.validators import DataRequired, Email, EqualTo, Length, Regexp
from ..auth import USERNAME_REGEX
from ..models import User
@ -18,7 +17,7 @@ class ChangePasswordForm(FlaskForm):
'Confirm new password', validators=[DataRequired()])
submit = SubmitField('Change password')
def __init__(self, user=current_user, *args, **kwargs):
def __init__(self, user, *args, **kwargs):
super().__init__(*args, **kwargs)
self.user = user
@ -35,13 +34,13 @@ class EditGeneralSettingsForm(FlaskForm):
'Benutzername',
validators=[DataRequired(),
Length(1, 64),
Regexp(current_app.config['NOPAQUE_USERNAME_REGEX'],
Regexp(USERNAME_REGEX,
message='Usernames must have only letters, numbers,'
' dots or underscores')]
)
submit = SubmitField('Submit')
def __init__(self, user=current_user, *args, **kwargs):
def __init__(self, user, *args, **kwargs):
super().__init__(*args, **kwargs)
self.user = user
@ -72,7 +71,3 @@ class EditNotificationSettingsForm(FlaskForm):
('none', 'No status update notifications')],
validators=[DataRequired()])
submit = SubmitField('Save settings')
def __init__(self, user=current_user, *args, **kwargs):
super().__init__(*args, **kwargs)
self.user = user

View File

@ -15,7 +15,7 @@ def index():
@bp.route('/change_password', methods=['GET', 'POST'])
@login_required
def change_password():
form = ChangePasswordForm()
form = ChangePasswordForm(current_user._get_current_object())
if form.validate_on_submit():
current_user.password = form.new_password.data
db.session.commit()
@ -28,7 +28,7 @@ def change_password():
@bp.route('/edit_general_settings', methods=['GET', 'POST'])
@login_required
def edit_general_settings():
form = EditGeneralSettingsForm()
form = EditGeneralSettingsForm(current_user._get_current_object())
if form.validate_on_submit():
current_user.email = form.email.data
current_user.setting_dark_mode = form.dark_mode.data