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.
Subtasks
Associated revisions
dossiers: fix patient record notification edition and deletion
Fixes #3225
History
Updated by Jérôme Schneider over 11 years ago
- Status changed from Nouveau to 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.
Updated by Mikaël Ates over 11 years ago
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.
Updated by Mikaël Ates over 11 years ago
Précision, pour le cmpp un même patient peut avoir deux types de healthcare soit du CMPPHealthCareTreatment, soit du CMPPHealthCareDiagnostic.
Updated by Jérôme Schneider over 11 years ago
- Status changed from Information nécessaire to Résolu (à déployer)
- % Done changed from 0 to 100
Appliqué par commit calebasse|commit:c8ba1faace360938b97153399f0d82edcfe33026.
Updated by Jérôme Schneider over 11 years ago
Appliqué par commit aps42:calebasse|commit:c8ba1faace360938b97153399f0d82edcfe33026.
Updated by Jérôme Schneider over 11 years ago
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