Development #69659
Duplication de workflow - les ids des triggers ne sont pas conservés
Début:
28 septembre 2022
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
cf ticket client #69589
Un workflow a été dupliqué, quelques modifications ont été apportées (sans que les actions globales soient modifiées), le nouveau workflow a été appliqué au formulaire correspondant.
Une action globale (avec un trigger automatique avec un délai de 5 jours) a été rejouée sur d'anciennes demandes.
Quand on regarde si on doit jouer un trigger ou pas, on se base sur son id. L'id n'étant pas le même, le trigger n'est pas marqué comme étant joué, donc il est rejoué.
seen_triggers = [] for part in formdata.iter_evolution_parts(): if not isinstance(part, WorkflowGlobalActionTimeoutTriggerMarker): continue seen_triggers.append(part.timeout_id) for action, trigger in triggers: if trigger.id in seen_triggers: continue # already triggered <-- raté, c'est pas le même id
Reproduit en local: créer un workflow, avec une action globale, un trigger, le dupliquer. L'id du trigger dans le nouveau workflow est modifié.
En pièce jointe un test pour reproduire.
Fichiers
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a plus d'un an
- Fichier 0001-workflow-keep-trigger-id-on-workflow-duplication-696.patch 0001-workflow-keep-trigger-id-on-workflow-duplication-696.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Assigné à mis à Lauréline Guérin
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Mis à jour par Lauréline Guérin il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit b0bcc7667209ec69796c24fda3418ef568d011e4 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Mon Oct 3 15:42:25 2022 +0200 workflow: keep trigger id on workflow duplication (#69659)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
workflow: keep trigger id on workflow duplication (#69659)