-
Notifications
You must be signed in to change notification settings - Fork 25
Demandes de prolongation: Gestion des chevauchements de date #4251
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
Conversation
| <form method="post" action="{% url "approvals:prolongation_request_grant" prolongation_request.pk %}"> | ||
| {% csrf_token %} | ||
| <button class="btn btn-primary btn-block btn-ico justify-content-center"> | ||
| <button class="btn btn-primary btn-block btn-ico justify-content-center"{% if block_validation %} disabled{% endif %}> |
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 me semble mieux de bloquer les deux boutons et de rediriger vers le support pour mise en cohérence :
- Si une erreur de ce type arrive il y a 99,99% de chance que ça soit dû à une modification dans l'admin donc ça me semble préférable de corriger l'incohérence plutôt que de faire comme si de rien n'était car ça va certainement nous revenir dessus à un autre moment.
- Refuser une demande de prolongation impose des choses aux prescripteurs, là c'est notre faute donc pas de raison que ça soit lui ainsi que l'employeur (qui devrais refaire une demande) qui soit pénalisé.
- Si on peux éviter d'avoir de la donnée jetable dans un système d'"audit" c'est mieux.
Autres avantages que je vois de faire le message ici plutôt qu'en toast :
- Ça nous permet d'être éventuellement moins succinct car plus de place que dans un toast
- Moins de code car plus trop besoin du toast alors que c'est jamais sensé arriver, au pire ça casse mais si l'utilisateur accède à l'URL c'est soit qu'il l'a forgée soit qu'on a raté un (autre) truc donc on veux sans doute être alerté plutôt que faire comme si c'était une erreur attendue
itou/www/approvals_views/views.py
Outdated
| data["block_validation"] = self.prolongation_request.start_at < max( | ||
| self.prolongation_request.approval.prolongation_set.values_list("end_at", flat=True) | ||
| ) |
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.
Je réfléchis à voix haute mais je me demande si faire ceci ne suffirais pas, c'est pas tout à fait pareil mais je me dit que ça pourrais aussi choper les erreurs liées aux suspensions :
| data["block_validation"] = self.prolongation_request.start_at < max( | |
| self.prolongation_request.approval.prolongation_set.values_list("end_at", flat=True) | |
| ) | |
| data["block_validation"] = self.prolongation_request.start_at != self.prolongation_request.approval.end_at |
|
Attention l'erreur sentry en question celle-ci : LES-EMPLOIS-PROD-12C |
76faec0 to
8e0aa62
Compare
|
Suite aux discussion sur slack, on part plutôt sur juste mettre le toast en attendant que les demandes de prolongations soient reprises (https://www.notion.so/plateforme-inclusion/2-3-Refonte-suspensions-Nouvelles-r-gles-de-suppression-des-suspensions-6e31e80959c8442c92d9a176be2d255e?pvs=4) |
8e0aa62 to
81f8ecf
Compare
81f8ecf to
d2600d9
Compare
🤔 Pourquoi ?
https://itou.sentry.io/issues/4496383184/events/1b7ec012828045fea86fac383d8520b3/?project=6164438&query=is%3Aunresolved+issue.priority%3A%5Bhigh%2C+medium%5D&referrer=previous-event&statsPeriod=14d&stream_index=14
L'idée de la PR est d'éviter une erreur 500 en attendant qu'on refonde un peu plus les demandes de prolongation
A faire : ajouter les tests quand validé par le métier
💻 Captures d'écran
🚨 À vérifier
🏝️ Comment tester