Bug #3225
Le dialog de modif d'une notification dans le dossier patient ne présente pas des champs préremplis correctement
100%
Description
Au sessad dys dans l'onglet notifications du dossier patient. Lorsque l'on ouvre un dialog de modification d'une notification, que l'on ferme ce dialog, que l'ouvre un autre dialogue de modification sur une autre notification de ce meêe dossier sans changer de tab ou de page, les champs de ce dernier dialog sont remplis avec les données du dialog précédent.
Sous-tâches
Révisions associées
dossiers: fix patient record notification edition and deletion
Fixes #3225
Historique
Mis à jour par Jérôme Schneider il y a plus de 10 ans
- Statut changé de Nouveau à Information nécessaire
J'ai trouvé le bug mais il est plus vaste que simplement ce bug précis. Ce n'est seulement qu'un aspect du problème. Il me faut des informations sur le métier pour pouvoir le patcher correctement.
Je m'explique le bug vient du fait que dans l'onglet notification on affiche tous les objets HealthCare qu'ils soient SessadHealthCareNotification ou simplement HealthCare.
Pour l'affichage ça ne pose pas de problème vu qu'on affiche pas les champs spécifiques à SessadHealthCareNotification mais pour la suppression / modification on demande à Django d'éditer ou de supprimer un objet SessadHealthCareNotification en lui donnant l'id d'un HealthCare qui n'est pas toujours le fils d'un SessadHealthCareNotification.
Je vois 3 solutions pour résoudre ce bug mais la logique métier diffère :
- on affiche, on ne modifie et on ne supprime que les objets SessadHealthCareNotification dans l'onglet notification
- on affiche les objets HealthCare qu'ils soient fils de SessadHealthCareNotification ou non mais on ne permet la modification suppression que des objets SessadHealthCareNotification
- on affiche, on modifie et on supprime les objets HealthCare qui sont fils ou non de SessadHealthCareNotification
Mon avis c'est qu'on ne devrait ce concentrer que sur les objets de type SessadHealthCareNotification dans cet onglet mais quelque chose me dit que ce n'est pas le fonctionnement attendu.
Mis à jour par Mikaël Ates il y a plus de 10 ans
Le patient appartient à un unique service, et en fonction du service, on ne peut créer qu'un seul type de healthcare pour un patient. Par exemple dans patientrecord_update.html on a:
{% if object.service.name "SESSAD TED" or object.service.name "SESSAD DYS" %}...<button id="new-notification-btn">Nouvelle notification</button>, bouton qui pointe vers la vue new_healthcare_notification.
Pour un patient du sessad on crée donc toujours un SessadHealthCareNotification. Donc lorsque l'on supprime une notification on supprime toujours un healthcare fils de SessadHealthCareNotification.
Donc ce ne devrait pas arriver que : "mais pour la suppression / modification on demande à Django d'éditer ou de supprimer un objet SessadHealthCareNotification en lui donnant l'id d'un HealthCare qui n'est pas toujours le fils d'un SessadHealthCareNotification"
Idem pour le CMPP ou l'on a soit du CMPPHealthCareTreatment, soit du CMPPHealthCareDiagnostic.
Il faut que la solution permette dans un unique form d'éditer le HealthCare et le SessadHealthCareNotification, et lors de la suppression de supprimer les deux. Idem au cmpp.
Mis à jour par Mikaël Ates il y a plus de 10 ans
Précision, pour le cmpp un même patient peut avoir deux types de healthcare soit du CMPPHealthCareTreatment, soit du CMPPHealthCareDiagnostic.
Mis à jour par Jérôme Schneider il y a plus de 10 ans
- Statut changé de Information nécessaire à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit calebasse|commit:c8ba1faace360938b97153399f0d82edcfe33026.
Mis à jour par Jérôme Schneider il y a plus de 10 ans
Appliqué par commit aps42:calebasse|commit:c8ba1faace360938b97153399f0d82edcfe33026.
Mis à jour par Jérôme Schneider il y a plus de 10 ans
Le patch en question résout bien le problème mais n'explique pourquoi des patients des Sessad se retrouvent avec des HealthCare qui ne sont pas des SessadHealthCareNotification.
J'ai ouvert un autre ticket pour ça : https://dev.entrouvert.org/issues/3422
dossiers: fix patient record notification edition and deletion
Fixes #3225