
I think expiration should be pending on a proper way to do recurring tasks -- I'm personally in favor of a CLI command that can be run from a cronjob or systemd timer that will do things like auto-expire password reset requests and send the daily registration reports. Now that I'm thinking about it, this does need at least a rudimentary system to make sure that it actually expires. If the expiration is invalid at the time of reset, then the request can just be invalidated and deleted. There's no pressing need for automatic removal until it's implemented. Thoughts @willhockey20?
33 lines
1.6 KiB
Python
33 lines
1.6 KiB
Python
from flask_wtf import FlaskForm
|
|
from wtforms import BooleanField, PasswordField, SelectField, StringField, SubmitField, widgets
|
|
from wtforms.validators import DataRequired
|
|
|
|
class RegisterForm(FlaskForm):
|
|
email = StringField("Email", validators=[DataRequired()])
|
|
first_name = StringField("Preferred First Name",
|
|
validators=[DataRequired()])
|
|
last_name = StringField("Last Name", validators=[DataRequired()])
|
|
password = PasswordField("Password", validators=[DataRequired()])
|
|
password_confirm = PasswordField("Confirm Password",
|
|
validators=[DataRequired()])
|
|
school = StringField("School/University", validators=[DataRequired()])
|
|
phone_number = StringField("Phone number", validators=[DataRequired()])
|
|
gender = SelectField("Gender", choices=[("F", "Female"), ("M", "Male"),
|
|
("NB", "Non-binary/Other")],
|
|
widget=widgets.Select())
|
|
agree_coc = BooleanField("I confirm that I have read and agree to the Code of Conduct", validators=[DataRequired()])
|
|
submit = SubmitField("Register")
|
|
|
|
class LoginForm(FlaskForm):
|
|
email = StringField("Email", validators=[DataRequired()])
|
|
password = PasswordField("Password", validators=[DataRequired()])
|
|
submit = SubmitField("Sign in")
|
|
|
|
class ResetForm(FlaskForm):
|
|
email = StringField("Email", validators=[DataRequired()])
|
|
submit = SubmitField("Request reset")
|
|
|
|
class PwResetForm(FlaskForm):
|
|
password = PasswordField("Password")
|
|
password_confirm = PasswordField("Confirm Password")
|
|
submit = SubmitField("Submit")
|