|
- from flask_wtf import FlaskForm
- from wtforms import StringField, PasswordField, BooleanField, TextAreaField, SubmitField, DecimalField, SelectField
- from wtforms.fields.html5 import DateField
- from wtforms.validators import DataRequired, InputRequired, Optional, Email, EqualTo
- from flask_wtf.file import FileField # Cuz' wtforms' FileField is shitty
- from app.models.trophies import Trophy
- import app.utils.validators as vd
-
-
- class RegistrationForm(FlaskForm):
- username = StringField('Pseudonyme', description='Ce nom est définitif !', validators=[DataRequired(), vd.name_valid, vd.name_available])
- email = StringField('Adresse Email', validators=[DataRequired(), Email(), vd.email])
- password = PasswordField('Mot de passe', validators=[DataRequired(), vd.password])
- password2 = PasswordField('Répéter le mot de passe', validators=[DataRequired(), EqualTo('password')])
- guidelines = BooleanField("""J'accepte les <a href="#">CGU</a>""", validators=[DataRequired()])
- newsletter = BooleanField('Inscription à la newsletter', description='Un mail par trimestre environ, pour être prévenu des concours, évènements et nouveautés.')
- submit = SubmitField("S'inscrire")
-
-
- class UpdateAccountForm(FlaskForm):
- avatar = FileField('Avatar', validators=[Optional(), vd.avatar])
- email = StringField('Adresse email', validators=[Optional(), Email(), vd.email, vd.old_password])
- password = PasswordField('Mot de passe', validators=[Optional(), vd.password, vd.old_password])
- password2 = PasswordField('Répéter le mot de passe', validators=[Optional(), EqualTo('password')])
- old_password = PasswordField('Mot de passe actuel', validators=[Optional()])
- birthday = DateField('Anniversaire', validators=[Optional()])
- signature = TextAreaField('Signature', validators=[Optional()])
- biography = TextAreaField('Présentation', validators=[Optional()])
- newsletter = BooleanField('Inscription à la newsletter', description='Un mail par trimestre environ, pour être prévenu des concours, évènements et nouveautés.')
- submit = SubmitField('Mettre à jour')
-
-
- class DeleteAccountForm(FlaskForm):
- delete = BooleanField('Confirmer la suppression', validators=[DataRequired()], description='Attention, cette opération est irréversible !')
- old_password = PasswordField('Mot de passe', validators=[DataRequired(), vd.old_password])
- submit = SubmitField('Supprimer le compte')
-
-
- class AdminUpdateAccountForm(FlaskForm):
- username = StringField('Pseudonyme', validators=[Optional(), vd.name_valid])
- avatar = FileField('Avatar', validators=[Optional(), vd.avatar])
- email = StringField('Adresse email', validators=[Optional(), Email(), vd.email])
- email_validate = BooleanField("Envoyer un email de validation à la nouvelle adresse", description="Si décoché, l'utilisateur devra demander explicitement un email de validation, ou faire valider son adresse email par un administrateur.")
- password = PasswordField('Mot de passe', description="L'ancien mot de passe ne pourra pas être récupéré !", validators=[Optional(), vd.password])
- xp = DecimalField('XP', validators=[Optional()])
- birthday = DateField('Anniversaire', validators=[Optional()])
- signature = TextAreaField('Signature', validators=[Optional()])
- biography = TextAreaField('Présentation', validators=[Optional()])
- newsletter = BooleanField('Inscription à la newsletter', description='Un mail par trimestre environ, pour être prévenu des concours, évènements et nouveautés.')
- submit = SubmitField('Mettre à jour')
-
-
- class AdminAccountEditTrophyForm(FlaskForm):
- # Boolean inputs are generated on-the-fly from trophy list
- submit = SubmitField('Modifier')
-
-
- class AdminDeleteAccountForm(FlaskForm):
- delete = BooleanField('Confirmer la suppression', validators=[DataRequired()], description='Attention, cette opération est irréversible !')
- submit = SubmitField('Supprimer le compte')
|