Source code for noggin.form.password_reset
from flask_babel import lazy_gettext as _
from wtforms import PasswordField, StringField
from wtforms.validators import DataRequired, EqualTo, Optional
from .base import BaseForm, lower
from .validators import PasswordLength
[docs]
class NewPasswordForm(BaseForm):
password = PasswordField(
_('New Password'),
validators=[
DataRequired(message=_('Password must not be empty')),
PasswordLength(),
EqualTo('password_confirm', message=_('Passwords must match')),
],
)
password_confirm = PasswordField(_('Confirm New Password'))
otp = StringField(
_('One-Time Password (if your account has Two-Factor Authentication enabled)'),
validators=[Optional()],
)
[docs]
class PasswordResetForm(NewPasswordForm):
current_password = PasswordField(
_('Current Password'),
validators=[DataRequired(message=_('Current password must not be empty'))],
)
[docs]
class ForgottenPasswordForm(BaseForm):
username = StringField(
_('Username'),
validators=[DataRequired(message=_('User name must not be empty'))],
description=_("Enter your username to reset your password"),
filters=[lower],
)