-
Notifications
You must be signed in to change notification settings - Fork 160
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
Corrige une erreur si la durée d'une sanction temporaire est manquante #6564
Corrige une erreur si la durée d'une sanction temporaire est manquante #6564
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.
Quelques petits commentaires, mai sinon c'est OK.
Cette partie de la base de code n'est pas folichone de toute façon et la refondre n'est pas l'objectif de la PR. ^^
zds/member/views/moderation.py
Outdated
except ValueError: | ||
raise HttpResponseBadRequest | ||
except (ValueError, TypeError): | ||
messages.error(request, _("Une erreur est survenue lors de la récupération de la sanction.")) |
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.
raise HttpResponseBadRequest
était un bout de code erroné, vu le message que Sentry a remonté. C'est un objet à retourner et pas à raise
. En conséquence, je pense que ce n'est pas nécessaire de mettre un TypeError
dans le except du dessous, ce type d'erreur n'est pas censé arriver.
Je n'ai pas réussi à identifier d'où viendrait la ValueError. Probablement pas directement de notre code, ce qui est complique encore plus la recherche.
Aussi, faudrait supprimer l'import HttpBadRequest en haut du fichier aussi, il est désormais inutile.
8994aad
to
4f2467a
Compare
J'ai mis un commentaire pour l'expliquer. En gros, si les paramètres passés en POST sont invalides (ou absents), ça finit par planter lorsqu'on cherche à accéder à ces paramètres dans
Bien vu ! |
Et rend obligatoire la durée des sanctions temporaires pour valider le formulaire.
4f2467a
to
3eed6a6
Compare
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 OK ✔️
Sentry nous rapporte que l'erreur suivante :
est levée lorsqu'on applique une sanction temporaire à un membre, mais que la durée de la sanction n'est pas précisée.
Cette PR corrige le problème en capturant les exceptions possibles s'il manque la durée. En plus, j'ajoute un test et je rends obligatoire le champ de la durée dans le formulaire pour ajouter une sanction temporaire.
Contrôle qualité
Se connecter en tant qu'
admin
et, depuis la page de profil d'un membre, appliquer des sanctions temporaires (banissement et lecture seule) et s'assurer que tout fonctionne toujours comme attendu. On ne peut pas valider le formulaire sans préciser une durée de sanction.