La version 5 de Planète Casio. Regroupe le forum, les programmes, les tutoriel, les sprites et tous les autres outils développés par nos soins.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

account.py 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from flask_wtf import FlaskForm
  2. from wtforms import StringField, PasswordField, BooleanField, TextAreaField, SubmitField, DecimalField, SelectField
  3. from wtforms.fields.html5 import DateField
  4. from wtforms.validators import DataRequired, InputRequired, Optional, Email, EqualTo
  5. from flask_wtf.file import FileField # Cuz' wtforms' FileField is shitty
  6. from app.models.trophies import Trophy
  7. import app.utils.validators as vd
  8. class RegistrationForm(FlaskForm):
  9. username = StringField('Pseudonyme', description='Ce nom est définitif !', validators=[DataRequired(), vd.name_valid, vd.name_available])
  10. email = StringField('Adresse Email', validators=[DataRequired(), Email(), vd.email])
  11. password = PasswordField('Mot de passe', validators=[DataRequired(), vd.password])
  12. password2 = PasswordField('Répéter le mot de passe', validators=[DataRequired(), EqualTo('password')])
  13. guidelines = BooleanField("""J'accepte les <a href="#">CGU</a>""", validators=[DataRequired()])
  14. newsletter = BooleanField('Inscription à la newsletter', description='Un mail par trimestre environ, pour être prévenu des concours, évènements et nouveautés.')
  15. submit = SubmitField("S'inscrire")
  16. class UpdateAccountForm(FlaskForm):
  17. avatar = FileField('Avatar', validators=[Optional(), vd.avatar])
  18. email = StringField('Adresse email', validators=[Optional(), Email(), vd.email, vd.old_password])
  19. password = PasswordField('Mot de passe', validators=[Optional(), vd.password, vd.old_password])
  20. password2 = PasswordField('Répéter le mot de passe', validators=[Optional(), EqualTo('password')])
  21. old_password = PasswordField('Mot de passe actuel', validators=[Optional()])
  22. birthday = DateField('Anniversaire', validators=[Optional()])
  23. signature = TextAreaField('Signature', validators=[Optional()])
  24. biography = TextAreaField('Présentation', validators=[Optional()])
  25. newsletter = BooleanField('Inscription à la newsletter', description='Un mail par trimestre environ, pour être prévenu des concours, évènements et nouveautés.')
  26. submit = SubmitField('Mettre à jour')
  27. class DeleteAccountForm(FlaskForm):
  28. delete = BooleanField('Confirmer la suppression', validators=[DataRequired()], description='Attention, cette opération est irréversible !')
  29. old_password = PasswordField('Mot de passe', validators=[DataRequired(), vd.old_password])
  30. submit = SubmitField('Supprimer le compte')
  31. class AdminUpdateAccountForm(FlaskForm):
  32. username = StringField('Pseudonyme', validators=[Optional(), vd.name_valid])
  33. avatar = FileField('Avatar', validators=[Optional(), vd.avatar])
  34. email = StringField('Adresse email', validators=[Optional(), Email(), vd.email])
  35. 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.")
  36. password = PasswordField('Mot de passe', description="L'ancien mot de passe ne pourra pas être récupéré !", validators=[Optional(), vd.password])
  37. xp = DecimalField('XP', validators=[Optional()])
  38. birthday = DateField('Anniversaire', validators=[Optional()])
  39. signature = TextAreaField('Signature', validators=[Optional()])
  40. biography = TextAreaField('Présentation', validators=[Optional()])
  41. newsletter = BooleanField('Inscription à la newsletter', description='Un mail par trimestre environ, pour être prévenu des concours, évènements et nouveautés.')
  42. submit = SubmitField('Mettre à jour')
  43. class AdminAccountEditTrophyForm(FlaskForm):
  44. # Boolean inputs are generated on-the-fly from trophy list
  45. submit = SubmitField('Modifier')
  46. class AdminDeleteAccountForm(FlaskForm):
  47. delete = BooleanField('Confirmer la suppression', validators=[DataRequired()], description='Attention, cette opération est irréversible !')
  48. submit = SubmitField('Supprimer le compte')