Development #57894
possibilité de copier une action d'un statut à un autre
0%
Description
via #57263,
A la réflexion ça pourrait être un bouton "copier" (en précisant vers quel statut copier l'action) car ça arrive aussi souvent d'avoir besoin de dupliquer une action d'un statut dans un autre (et si on veut déplacer, on peut supprimer celui de départ, ça c'est rapide).
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0001-workflows-copy-action-from-one-status-to-another-578.patch 0001-workflows-copy-action-from-one-status-to-another-578.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Qu'est-ce qu'on fait pour l'icône du coup ? Pierre a proposé un .svg dans le ticket lié, je prends ça ?
Mis à jour par Frédéric Péters il y a plus de 2 ans
On ne peut pas prendre l'svg du noun project sans licence précisant l'attribution etc. il y a sans doute à, comme steph, composer avec l'existant, mais faire ça correctement, svg dans gadjo etc.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Lié à Development #59670: Avoir une icône qui symbolise la copie d'une action ajouté
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0001-workflows-copy-action-from-one-status-to-another-578.patch 0001-workflows-copy-action-from-one-status-to-another-578.patch ajouté
Ajout du CSS qui va bien pour fonctionner avec l'icône dans gadjo.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 1640099139.png 1640099139.png ajouté
Mis à jour par Thomas Noël il y a environ 2 ans
Le deepcopy est séduisant dans :
new_item = copy.deepcopy(self.item)
mais à ma connaissance on n'a jamais tenté ça sur une action dans un status. Il faudrait par exemple vérifier que pour l'action "document" on se retrouve bien avec le modèle de document dupliqué dans models/export_to_model-16-1-XXX.upload ... Je n'ai pas d'autre idée en tête d'action qui ont des relations avec d'autres objets externes, mais bon, voilà, au moins celle là.
Mis à jour par Valentin Deniaud il y a environ 2 ans
Thomas Noël a écrit :
Le deepcopy est séduisant mais à ma connaissance on n'a jamais tenté ça sur une action dans un status.
C'est ce qu'on fait quand on duplique le workflow en entier, ça crée effectivement une situation où plusieurs actions document pointent sur le même modèle, et ça n'a pas l'air de poser problème.
Mis à jour par Thomas Noël il y a environ 2 ans
- Statut changé de Solution proposée à Solution validée
Valentin Deniaud a écrit :
Thomas Noël a écrit :
Le deepcopy est séduisant mais à ma connaissance on n'a jamais tenté ça sur une action dans un status.
C'est ce qu'on fait quand on duplique le workflow en entier, ça crée effectivement une situation où plusieurs actions document pointent sur le même modèle, et ça n'a pas l'air de poser problème.
Je crois ici à un bogue alors, parce que si on modifie le modèle sur le workflow d'origine, ça va le modifier silencieusement sur l'autre... Mais considérons que c'est un bogue qui n'a pas à être corrigé ici, faudra confirmer cette affaire sur un autre ticket éventuellement.
Je valide donc ton code qui me parait tout simple et tout bien.
Mis à jour par Frédéric Péters il y a environ 2 ans
S'il y a un bug pressenti ça m'irait bien qu'on vérifie dès maintenant qu'il existe, ou pas, plutôt que le redécouvrir par hasard plus tard quand on n'arrivera pas à comprendre un comportement.
Mis à jour par Frédéric Péters il y a environ 2 ans
deepcopy (...)
C'est ce qu'on fait quand on duplique le workflow en entier
Pour la duplication l'id et le slug sont mis à None et .store() est fait, je ne vois pas le deepcopy() en question. (cela pour dire aussi que #61838 aura beau être corrigé ça ne couvrira pas nécessairement le bug à vérifier ici).
Mis à jour par Valentin Deniaud il y a environ 2 ans
- Statut changé de Solution validée à En cours
Ouep mauvais git grep de ma part il n'y a effectivement pas de deepcopy quand on duplique un wf. Je vais voir pour corriger ici.
Mis à jour par Thomas Noël il y a environ 2 ans
Pour info, au niveau de #61838 Frédéric a complétement revu le système de copie de workflow et passe par un export/import du XML, ce qui garanti des objets complétement distincts.
Mis à jour par Valentin Deniaud il y a environ 2 ans
- Fichier 0001-workflows-copy-action-from-one-status-to-another-578.patch 0001-workflows-copy-action-from-one-status-to-another-578.patch ajouté
- Statut changé de En cours à Solution proposée
Revoici en appliquant la même correction que pour #61838, c'est à dire passer par l'export xml (+ un test également adapté de ce ticket).
Mis à jour par Thomas Noël il y a environ 2 ans
Que penserais-tu d'ajouter un « check_datasources=False » lors du init_with_xml, dans l'idée que la copie d'une action un peu pétée donne une action un peu pétée...? Perso je ne trouverais pas ça scandaleux.
Sinon il faut gérer les FormdefImportUnknownReferencedError ou BlockdefImportError et ça donne pas très envie.
Mis à jour par Valentin Deniaud il y a environ 2 ans
Branche à jour avec check_datasources=False, ça me paraît effectivement toujours bon à prendre mais pas de test en plus parce que je ne sais pas par quel biais ce problème pourrait arriver, la suppression d'une source de données utilisée est interdite par exemple.
Mis à jour par Thomas Noël il y a environ 2 ans
Valentin Deniaud a écrit :
Branche à jour avec check_datasources=False, ça me paraît effectivement toujours bon à prendre mais pas de test en plus parce que je ne sais pas par quel biais ce problème pourrait arriver, la suppression d'une source de données utilisée est interdite par exemple.
Faignasse :) C'est accordé cependant.
Mis à jour par Thomas Noël il y a environ 2 ans
- Statut changé de Solution proposée à Solution validée
"Branche à jour", j'avais pas bien lu, go.
Mis à jour par Valentin Deniaud il y a environ 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 885dc8c2de097bcffccb82138b38dfc0e8edae02 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Tue Dec 14 10:05:02 2021 +0100 workflows: copy action from one status to another (#57894)
Mis à jour par Transition automatique il y a environ 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Marie Kuntz il y a presque 2 ans
- Dupliqué par Development #30622: [Workflow] Permettre de dupliquer les actions, les déplacer d'un statut à un autre ajouté
workflows: copy action from one status to another (#57894)