viveksantayana
43b5973dbe
Basic CRUD operations for managing registered admin users Encrypted personal information Still missing sections on managing tests and results Also missing dashboards/index/category landing pages
44 lines
3.9 KiB
Python
44 lines
3.9 KiB
Python
from flask_wtf import FlaskForm
|
|
from wtforms import StringField, PasswordField, BooleanField
|
|
from wtforms.validators import InputRequired, Email, Length, EqualTo, Optional
|
|
|
|
class LoginForm(FlaskForm):
|
|
username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
|
|
password = PasswordField('Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
remember = BooleanField('Remember Log In', render_kw={'checked': True})
|
|
|
|
class RegistrationForm(FlaskForm):
|
|
username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
|
|
email = StringField('Email Address', validators=[InputRequired(), Email(message='You must enter a valid email address.'), Length(max=50)])
|
|
password = PasswordField('Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
password_reenter = PasswordField('Re-Enter Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.'), EqualTo('password', message='Passwords do not match.')])
|
|
|
|
class ResetPasswordForm(FlaskForm):
|
|
username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
|
|
email = StringField('Email Address', validators=[InputRequired(), Email(message='You must enter a valid email address.'), Length(max=50)])
|
|
|
|
class UpdatePasswordForm(FlaskForm):
|
|
password = PasswordField('Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
password_reenter = PasswordField('Re-Enter Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.'), EqualTo('password', message='Passwords do not match.')])
|
|
|
|
class CreateUserForm(FlaskForm):
|
|
username = StringField('Username', validators=[InputRequired(), Length(min=4, max=15)])
|
|
email = StringField('Email Address', validators=[InputRequired(), Email(message='You must enter a valid email address.'), Length(max=50)])
|
|
password = PasswordField('Password (Optional)', validators=[Optional(),Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
|
|
class DeleteUserForm(FlaskForm):
|
|
password = PasswordField('Confirm Your Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
notify = BooleanField('Notify deletion by email', render_kw={'checked': True})
|
|
|
|
class UpdateUserForm(FlaskForm):
|
|
user_password = PasswordField('Confirm Your Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
email = StringField('Email Address', validators=[Optional(), Email(message='You must enter a valid email address.'), Length(max=50)])
|
|
password = PasswordField('Change Password', validators=[Optional(),Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
password_reenter = PasswordField('Re-Enter New Password', validators=[EqualTo('password', message='Passwords do not match.')])
|
|
notify = BooleanField('Notify changes by email', render_kw={'checked': True})
|
|
|
|
class UpdateAccountForm(FlaskForm):
|
|
password_confirm = PasswordField('Current Password', validators=[InputRequired(), Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
email = StringField('Email Address', validators=[Optional(), Email(message='You must enter a valid email address.'), Length(max=50)])
|
|
password = PasswordField('Change Password', validators=[Optional(),Length(min=6, max=30, message='The password must be between 6 and 20 characters long.')])
|
|
password_reenter = PasswordField('Re-Enter New Password', validators=[EqualTo('password', message='Passwords do not match.')]) |