-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rajout de champ mot de passe aux pages de Désinscription et de changements d'email #6334
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Joli travail ! Je viens juste de parcourir rapidement le code et je me demandais si tu ne pouvais pas mettre le password = forms.CharField(...)
que tu as rajouté dans chaque formulaire, directement dans FieldPasswordMixin
?
Je ne sais plus pourquoi, quand j'avais essayé cette approche ça n'avait pas fonctionné. Mais je viens de ré-éssayer ça et ça fonctionne correctement. Mais j'ai dû le faire hériter de |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
QA NOK ✖️
C'est relativement mineur, mais un peu gênant d'un point de vue UX. Je trouve que les labels pour le changement de mot de passe sont confus. On a "Mot de passe (confirmation)" d'un côté et "Confirmer le nouveau mot de passe" de l'autre. Je pense qu'il faudrait voir apparaître "ancien mot de passe" pour que ça soit bien clair.
Quelques autres commentaires concernant plutôt le code.
Sinon, ça fonctionne.
zds/member/forms.py
Outdated
widget=forms.PasswordInput, | ||
) | ||
def __init__(self, user, *args, **kwargs): | ||
super(UnregisterForm, self).__init__(*args, **kwargs) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ici, c'est probablement possible de juste écrire super()
sans plus de précisions.
zds/utils/forms.py
Outdated
widget=forms.PasswordInput, | ||
) | ||
|
||
def check_correct_password(self, cleaned_data): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ça ne serait pas mieux d'écrire une méthode clean()
dans ce mixin, qui serait appelée par les différents utilisateurs dans leur propre méthode clean, via super().clean()
(utiliser l'héritage, donc), plutôt que d'appeler cette méthode là explicitement ?
T'en penses quoi ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah oui, c'est carrément mieux, j'envoie çá
* Utilisation de clean() plutôt que check_correct_password()
Fix #5372.
Change la façon dont on gère les confirmations par mot de passe en ajoutant un FieldPasswordMixin. Et utilise ce mixin pour ajouter une confirmation aux pages de désincriptions et celle de changement d'email.
Contrôle qualité
Scénario 1:
Résultat attendu: la soumission ne fonctionne pas, le mot de passe est un champ obligatoire
Scénario 2:
Résultat attendu: la mise à jour échoue avec un message mentionnant que le mot de passe est incorrect
Scénario 3:
Résultat attendu: La mise à jour fonctionne
Répéter ces trois scénarios pour les pages de déinscription et celle de changement de mot de passe.