diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2019-03-18 16:57:31 +0000 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2019-03-18 16:57:31 +0000 |
| commit | a3184c5d142848b5147811ed246e39545e978805 (patch) | |
| tree | c3b1d0e87dcbc2c8aad3ed531c81f9bc4117a992 /app/auth/forms.py | |
| parent | use bootstrap (diff) | |
| download | AnnotateChange-a3184c5d142848b5147811ed246e39545e978805.tar.gz AnnotateChange-a3184c5d142848b5147811ed246e39545e978805.zip | |
refactor
Diffstat (limited to 'app/auth/forms.py')
| -rw-r--r-- | app/auth/forms.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/app/auth/forms.py b/app/auth/forms.py new file mode 100644 index 0000000..8f7662a --- /dev/null +++ b/app/auth/forms.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- + +from flask_wtf import FlaskForm + +from wtforms import StringField, PasswordField, BooleanField, SubmitField +from wtforms.validators import DataRequired, ValidationError, Email, EqualTo + +from app.models import User + + +class LoginForm(FlaskForm): + username = StringField("Username", validators=[DataRequired()]) + password = PasswordField("Password", validators=[DataRequired()]) + remember_me = BooleanField("Remember Me") + submit = SubmitField("Sign In") + + +class RegistrationForm(FlaskForm): + username = StringField("Username", validators=[DataRequired()]) + email = StringField("Email", validators=[DataRequired(), Email()]) + password = PasswordField("Password", validators=[DataRequired()]) + password2 = PasswordField( + "Repeat Password", validators=[DataRequired(), EqualTo("password")] + ) + submit = SubmitField("Register") + + def validate_username(self, username): + user = User.query.filter_by(username=username.data).first() + if user is not None: + raise ValidationError( + "Username already in use, please use a different one." + ) + + def validate_email(self, email): + user = User.query.filter_by(email=email.data).first() + if user is not None: + raise ValidationError( + "Email address already in use, please use a different one." + ) + + +class ResetPasswordRequestForm(FlaskForm): + email = StringField("Email", validators=[DataRequired(), Email()]) + submit = SubmitField("Request password reset") + + +class ResetPasswordForm(FlaskForm): + password = PasswordField("Password", validators=[DataRequired()]) + password2 = PasswordField( + "Repeat Password", validators=[DataRequired(), EqualTo("password")] + ) + submit = SubmitField("Request Password Reset") |
