Bug #69048
Vu : un form_parent qui pointe vers la demande elle-même au lieu de sa parente
0%
Description
Situation vue chez un client, il faudrait enquêter pour voir comment c'est possible (ou si c'est une erreur d'usage)
Fichiers
Révisions associées
workflow: do not overwrite parent submission_context (#69048)
Historique
Mis à jour par Thomas Noël il y a plus d'un an
Ce n'est pas une erreur d'affichage, la donnée est bien "moi même" dans le submission_context :
print(formdata.id) 3145 print(formdata.submission_context) { 'orig_object_type': 'formdef', 'orig_formdef_id': '60', 'orig_formdata_id': '3145' }
A noter, date de création : 18 mai 2022.
Mis à jour par Thomas Noël il y a plus d'un an
- Tracker changé de Bug à Development
Je n'arrive pas à percevoir comment ça pourrait être possible dans wcs/wf/create_formdata.py ... je veux bien un regard neuf.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
J'ai compris, ici il manque un .copy() :
new_formdata.submission_context = formdata.submission_context or {}
quand on modifie le fils, on modifie le contexte du parent.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Fichier 0001-wip-add-test-69048.patch 0001-wip-add-test-69048.patch ajouté
- Fichier 0002-workflow-do-not-overwrite-parent-submission_context-.patch 0002-workflow-do-not-overwrite-parent-submission_context-.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
J'ai séparé le test du fix pour facilement vérifier que ça corrige le problème.
PS: en fait j'aurai pu modifier le premier test create_formdata pour voir le problème aussi.
Mis à jour par Thomas Noël il y a plus d'un an
Effectivement bogue, mais comment expliquer que c'est la demande fille qui se retrouve avec son propre id en tant que parent ? On s'attendait plutôt à ce que la demande parente comporte un submission_context erroné, mais pas la demande fille. Non ?
Mis à jour par Benjamin Dauvergne il y a plus d'un an
Thomas Noël a écrit :
Effectivement bogue, mais comment expliquer que c'est la demande fille qui se retrouve avec son propre id en tant que parent ? On s'attendait plutôt à ce que la demande parente comporte un submission_context erroné, mais pas la demande fille. Non ?
Ça n'arrive que dans les demandes filles qui refont un create_formdata, les demandes initiales n'ont généralement pas un submission_context initialisé, ça explique pourquoi on ne l'a pas vu avant.
Mis à jour par Thomas Noël il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Benjamin Dauvergne a écrit :
Ça n'arrive que dans les demandes filles qui refont un create_formdata
Bien vuuu ! Ack !
Mis à jour par Thomas Noël il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit e9a03ffacfa011afc3a2d6688085062ee6a7d64c Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Tue Sep 13 20:39:14 2022 +0200 workflow: do not overwrite parent submission_context (#69048)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
workflow: do not overwrite parent submission_context (#69048)