From 49a93db5d9b0418ca1ff9b9f7e3e14eafb7a67c9 Mon Sep 17 00:00:00 2001 From: Louis Chauvet Date: Mon, 9 Sep 2019 19:55:04 +0200 Subject: [PATCH 1/3] =?UTF-8?q?Ajout=20des=20textes=20d'erreurs=20en=20fra?= =?UTF-8?q?n=C3=A7ais=20dans=20les=20formulaires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/forms/account.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/forms/account.py b/app/forms/account.py index 563076b..ac06311 100644 --- a/app/forms/account.py +++ b/app/forms/account.py @@ -9,9 +9,9 @@ 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]) + email = StringField('Adresse Email', validators=[DataRequired(), Email(message="Addresse 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')]) + 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 CGU""", 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") @@ -19,9 +19,9 @@ class RegistrationForm(FlaskForm): class UpdateAccountForm(FlaskForm): avatar = FileField('Avatar', validators=[Optional(), vd.avatar]) - email = StringField('Adresse email', validators=[Optional(), Email(), vd.email, vd.old_password]) + email = StringField('Adresse email', validators=[Optional(), Email(message="Addresse email invalide."), 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')]) + 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()]) @@ -39,7 +39,7 @@ class DeleteAccountForm(FlaskForm): 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 = StringField('Adresse email', validators=[Optional(), Email(message="Addresse email invalide."), 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()]) From c7743bfa78a79e29ee36c5b2934b1bb1ab695572 Mon Sep 17 00:00:00 2001 From: Louis Chauvet Date: Mon, 9 Sep 2019 19:58:25 +0200 Subject: [PATCH 2/3] Oubli d'un point --- app/forms/account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/forms/account.py b/app/forms/account.py index ac06311..607d2b7 100644 --- a/app/forms/account.py +++ b/app/forms/account.py @@ -21,7 +21,7 @@ class UpdateAccountForm(FlaskForm): avatar = FileField('Avatar', validators=[Optional(), vd.avatar]) email = StringField('Adresse email', validators=[Optional(), Email(message="Addresse email invalide."), 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', message="Les mots de passe doivent être identiques")]) + 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()]) From a8090908e93e8e21fdbc1a02b0e40c4a7f9a6077 Mon Sep 17 00:00:00 2001 From: Louis Chauvet Date: Fri, 13 Sep 2019 19:34:20 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Reformatage=20des=20formulaires=20-=20Un=20?= =?UTF-8?q?peu=20de=20retard=20d=C3=A9sol=C3=A9=20:-)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/forms/account.py | 232 ++++++++++++++++++++++++++++++++++++------ app/forms/login.py | 22 +++- app/forms/search.py | 25 ++++- app/forms/trophies.py | 40 ++++++-- 4 files changed, 271 insertions(+), 48 deletions(-) diff --git a/app/forms/account.py b/app/forms/account.py index 607d2b7..7f2c6f6 100644 --- a/app/forms/account.py +++ b/app/forms/account.py @@ -8,53 +8,219 @@ 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(message="Addresse 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 CGU""", 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") + username = StringField( + 'Pseudonyme', + description='Ce nom est définitif !', + validators=[ + DataRequired(), + vd.name_valid, + vd.name_available, + ], + ) + email = StringField( + 'Adresse Email', + validators=[ + DataRequired(), + Email(message="Addresse 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 CGU""", + 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(message="Addresse email invalide."), 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', 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()]) - newsletter = BooleanField('Inscription à la newsletter', description='Un mail par trimestre environ, pour être prévenu des concours, évènements et nouveautés.') + avatar = FileField( + 'Avatar', + validators=[ + Optional(), + vd.avatar, + ], + ) + email = StringField( + 'Adresse email', + validators=[ + Optional(), + Email(message="Addresse email invalide."), + 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', 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(), + ] + ) + 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') + 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(message="Addresse email invalide."), 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') + username = StringField( + 'Pseudonyme', + validators=[ + Optional(), + vd.name_valid, + ], + ) + avatar = FileField( + 'Avatar', + validators=[ + Optional(), + vd.avatar, + ], + ) + email = StringField( + 'Adresse email', + validators=[ + Optional(), + Email(message="Addresse email invalide."), + 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') + 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') + delete = BooleanField( + 'Confirmer la suppression', + validators=[ + DataRequired(), + ], + description='Attention, cette opération est irréversible !', + ) + submit = SubmitField( + 'Supprimer le compte', + ) diff --git a/app/forms/login.py b/app/forms/login.py index 7879b32..72bec53 100644 --- a/app/forms/login.py +++ b/app/forms/login.py @@ -4,7 +4,21 @@ from wtforms.validators import DataRequired class LoginForm(FlaskForm): - username = StringField('Identifiant', validators=[DataRequired()]) - password = PasswordField('Mot de passe', validators=[DataRequired()]) - remember_me = BooleanField('Se souvenir de moi') - submit = SubmitField('Connexion') + username = StringField( + 'Identifiant', + validators=[ + DataRequired(), + ], + ) + password = PasswordField( + 'Mot de passe', + validators=[ + DataRequired(), + ], + ) + remember_me = BooleanField( + 'Se souvenir de moi', + ) + submit = SubmitField( + 'Connexion', + ) diff --git a/app/forms/search.py b/app/forms/search.py index 1eedbf8..6ebac62 100644 --- a/app/forms/search.py +++ b/app/forms/search.py @@ -6,10 +6,27 @@ from wtforms.validators import DataRequired, Optional # TODO: compléter le formulaire de recherche avancée class AdvancedSearchForm(FlaskForm): - q = StringField('Rechercher :', validators=[DataRequired()]) - date = DateField('Date', validators=[Optional()]) - submit = SubmitField('Affiner la recherche') + q = StringField( + 'Rechercher :', + validators=[ + DataRequired(), + ], + ) + date = DateField( + 'Date', + validators=[ + Optional(), + ], + ) + submit = SubmitField( + 'Affiner la recherche', + ) class SearchForm(FlaskForm): - q = StringField('Rechercher', validators=[DataRequired()]) + q = StringField( + 'Rechercher', + validators=[ + DataRequired(), + ], + ) diff --git a/app/forms/trophies.py b/app/forms/trophies.py index 6395b44..bc86176 100644 --- a/app/forms/trophies.py +++ b/app/forms/trophies.py @@ -5,12 +5,38 @@ from flask_wtf.file import FileField # Cuz' wtforms' FileField is shitty class TrophyForm(FlaskForm): - name = StringField('Nom', validators=[DataRequired()]) - icon = FileField('Icône') - title = BooleanField('Titre', description='Un titre peut être affiché en dessous du pseudo.', validators=[Optional()]) - css = StringField('CSS', description='CSS appliqué au titre, le cas échéant.') - submit = SubmitField('Envoyer') + name = StringField( + 'Nom', + validators=[ + DataRequired(), + ], + ) + icon = FileField( + 'Icône', + ) + title = BooleanField( + 'Titre', + description='Un titre peut être affiché en dessous du pseudo.', + validators=[ + Optional(), + ], + ) + css = StringField( + 'CSS', + description='CSS appliqué au titre, le cas échéant.', + ) + submit = SubmitField( + 'Envoyer', + ) class DeleteTrophyForm(FlaskForm): - delete = BooleanField('Confirmer la suppression', validators=[DataRequired()], description='Attention, cette opération est irréversible !') - submit = SubmitField('Supprimer le trophée') + delete = BooleanField( + 'Confirmer la suppression', + validators=[ + DataRequired(), + ], + description='Attention, cette opération est irréversible !', + ) + submit = SubmitField( + 'Supprimer le trophée', + )