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.
 
 
 
 
 

277 lines
6.7 KiB

from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, TextAreaField, SubmitField, DecimalField, SelectField
from wtforms.fields.html5 import DateField, EmailField
from wtforms.validators import DataRequired, Optional, Email, EqualTo
from flask_wtf.file import FileField # Cuz' wtforms' FileField is shitty
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 = EmailField(
'Adresse Email',
validators=[
DataRequired(),
Email(message="Adresse email invalide."),
vd.email,
],
)
password = PasswordField(
'Mot de passe',
validators=[
DataRequired(),
vd.password,
],
)
password2 = PasswordField(
'Répéter le mot de passe',
validators=[
DataRequired(),
EqualTo('password', message="Les mots de passe doivent être identiques."),
],
)
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 = EmailField(
'Adresse email',
validators=[
Optional(),
Email(message="Addresse email invalide."),
vd.email,
vd.old_password,
],
)
password = PasswordField(
'Nouveau mot de passe',
validators=[
Optional(),
vd.password,
vd.old_password,
],
)
password2 = PasswordField(
'Répéter le mot de passe',
validators=[
Optional(),
EqualTo('password', message="Les mots de passe doivent être identiques."),
],
)
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(),
]
)
title = SelectField(
'Titre',
coerce=int,
validators=[
Optional(),
vd.own_title,
]
)
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 AskResetPasswordForm(FlaskForm):
email = EmailField(
'Adresse email',
validators=[
Optional(),
Email(message="Addresse email invalide."),
],
)
submit = SubmitField('Valider')
class ResetPasswordForm(FlaskForm):
password = PasswordField(
'Mot de passe',
validators=[
Optional(),
vd.password,
],
)
password2 = PasswordField(
'Répéter le mot de passe',
validators=[
Optional(),
EqualTo('password', message="Les mots de passe doivent être identiques."),
],
)
submit = SubmitField('Valider')
class AdminUpdateAccountForm(FlaskForm):
username = StringField(
'Pseudonyme',
validators=[
Optional(),
vd.name_valid,
],
)
avatar = FileField(
'Avatar',
validators=[
Optional(),
vd.avatar,
],
)
email = EmailField(
'Adresse email',
validators=[
Optional(),
Email(message="Addresse email invalide."),
vd.email,
],
)
email_confirmed = BooleanField(
"Confirmer l'email",
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(),
],
)
title = SelectField(
'Titre',
coerce=int,
validators=[
Optional(),
# Admin can set any title to any member!
]
)
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 AdminAccountEditGroupForm(FlaskForm):
# Boolean inputs are generated on-the-fly from group 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',
)