Development #45653
actions workflow externe et modif de fiche : permettre de préciser la cible
0%
Description
Actuellement sur les actions workflow externe ou modification d'une fiche liée, on peut juste préciser le type de fiche. L'action va s'exécuter sur toutes les fiches de ce type liées.
On a des cas où il va y avoir plusieurs fiches du même type liées (par exemple : abonnement parking de 3 voitures).
Il faudrait pouvoir, dans l'action, préciser l'id de la cible afin qu'elle s'exécute uniquement sur celle-ci.
Fichiers
Demandes liées
Révisions associées
workflow: perform action only on defined target (#45653)
Historique
Mis à jour par Mikaël Ates il y a plus de 3 ans
- Lié à Development #47191: Permetttre de cibler une fiche ou plusieurs fiches liées sur l'action modification d'une fiche ajouté
Mis à jour par Mikaël Ates il y a plus de 3 ans
Autre cas d'usage (#47191)
Par exemple, sur une demande type "gestion du conjoint" on va avoir à gérer 4 fiches du même modèle "personne". Sur la fiche personne on aura un champs conjoint basé sur la source de donnée de ce même modèle de fiche. En supposant que le but est de "conjoindre" deux personnes, il faut renseigner sur ces deux conjoints l'un l'autre, et si ces deux personnes ont déjà des conjoints, il faut aller sur les fiches de ces personnes pour vider le champs conjoint. Cela implique donc 4 fiches liées à la demande de gestion du conjoint, 2 dont on veut vider le champs conjoint et 2 dont on veut renseigner un ID de fiche différent.
Pour gérer ce cas actuellement il faut initialiser une donnée de traitement puis faire l'action modification de fiche. Ensuite il faut modifier la donnée de traitement avec une nouvelle fiche puis relancer l'action. Autant de fois que nécessaire.
Ce mécanisme est assez fastidieux et ne s'accorde pas avec plusieurs données de traitement qui renseigneraient les différentes fiches.
Enfin, les fiches liées peuvent aussi venir du formulaire et ces champs ne peuvent alors être vidés comme les donnée de traitement. Sur ces fiches, toutes les actions de modification de fiche du WF sont éxécutées.
Il serait donc intéressant que sur l'action on puisse cibler une ou plusieurs fiches parmi toutes les fiches potentiellement liées, du formulaire ou en données de traitement, c'est à dire les champs liste qui ont en source de données le modèle de fiche qui est en premier choisi sur l'action.
Mis à jour par Mikaël Ates il y a plus de 3 ans
Il me semble qu'il est possible d'avoir la liste des champs, provenant du formulaire et des données de traitement, qui sont des les cibles potentielles de l'action (à partir de la source de donnée de ces champs). Il serait préférable de choisir parmi cette liste plutôt qu'un champs de saisie. Mais si c'est un champs de saisi, le nom de variable form_var_xxx
pourrait être utilisé.
La sélection de plusieurs champs serait encore plus intéressant.
Mis à jour par Mikaël Ates il y a plus de 3 ans
Autre cas d'usage.
On a des demandes qui servent de réservation. Chaque réservation est attachée à un user et aussi via une donnée de traitement à une fiche senior. Des actions WF externes permettent de modifier les champs quotas sur cette fiche.
Sur le formulaire de réservation on veut pouvoir indiquer un autre senior, pour indiquer un duo par exemple, mais pour autant ne pas gérer les quotas de ce second senior depuis cette inscription.
Or, les actions WF externes s'appliquant sur les 2 fiches liées on va modifier les quotas des 2 seniors.
En outre si l'on souhaite modifier ce senior "en duo", on va utiliser une donnée de traitement comme référence prérempli depuis la demande initiale mais on ne pourra pas "vider" le champs du formulaire ce qui va donner des incohérences avec des actions WF externes qui vont s'appliquer parfois 2 fois sur ce senior en duo.
Mis à jour par Frédéric Péters il y a plus de 3 ans
Ajouter une option "ciblage" (faudrait sans doute un meilleur nom),
Formulaire / Modèle de fiche* [ ..................................... |v] Ciblage [ Automatique |v] Action* [ ..................................... |v]
qui fonctionne comme maintenant.
et en manuel ça laisse taper un gabarit, où c'est l'identifiant à viser qui sera renseigné, ex:
Formulaire / Modèle de fiche* [ ..................................... |v] Ciblage [ Manuel |v] [ {{ form_var_plop_id }} .......... ] Action* [ ..................................... |v]
Éventuellement options supplémentaires, en prenant les formulaires/modèles de fiches concernés et en regardant dans leurs champs ceux qui sont définis avec une source de données, et lister ces champs.
Mis à jour par Pierre Cros il y a plus de 3 ans
Si je comprends correctement, plutôt que ciblage, ce serait :
Enregistrements visés [ Tous |v] [ Uniquement |v] [ {{ form_var_plop_id }} .......... ]
Mis à jour par Mikaël Ates il y a plus de 3 ans
Tous me fait penser que ça va modifier toutes les demandes/fiches du modèle désignés, et pas seulement celles liées.
Concernant la proposition de Fred, peut-être Cible(s) plutôt que Ciblage.
Mis à jour par Stéphane Laget il y a plus de 3 ans
Si la cible n'est pas spécifiquement définie via un id, il faudrait que l'action continue d'agir sur toutes les fiches liées comme actuellement.
Mis à jour par Frédéric Péters il y a plus de 3 ans
Stéphane, cf maquette (#45653#note-5), ciblage: automatique, ou tu penses à autre chose ?
Mis à jour par Stéphane Laget il y a plus de 3 ans
C'est bien ça, ce commentaire c'est juste pour s'assurer que le ciblage spécifique ne sera pas obligatoire. Les maquettes ci-dessus l'indiquent effectivement. Désolé pour le bruit.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0003-workflow-perform-action-only-on-defined-target-45653.patch 0003-workflow-perform-action-only-on-defined-target-45653.patch ajouté
- Fichier 0002-workflow-add-target-mode-id-to-external-and-edit-car.patch 0002-workflow-add-target-mode-id-to-external-and-edit-car.patch ajouté
- Fichier 0001-misc-fix-formdef-label-for-card-actions.patch 0001-misc-fix-formdef-label-for-card-actions.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
première itération
je vais voir s'il est possible d'afficher l'élément ciblé sur la page inspect d'un form/card data
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0004-workflow-display-targeted-card-form-data-on-inspect-.patch 0004-workflow-display-targeted-card-form-data-on-inspect-.patch ajouté
- Fichier 0003-workflow-perform-action-only-on-defined-target-45653.patch 0003-workflow-perform-action-only-on-defined-target-45653.patch ajouté
- Fichier 0002-workflow-add-target-mode-id-to-external-and-edit-car.patch 0002-workflow-add-target-mode-id-to-external-and-edit-car.patch ajouté
- Fichier 0001-misc-fix-formdef-label-for-card-actions.patch 0001-misc-fix-formdef-label-for-card-actions.patch ajouté
0004 en option: pour afficher le form/card data ciblé dans la liste des related sur la page d'inspect
en option, car à valider: est-ce que ça sera tout le temps juste ?
Mis à jour par Frédéric Péters il y a plus de 3 ans
Je dirais que c'est ok mais qu'on doit pouvoir zapper le 0004, sur l'idée que le plus souvent la référence sera genre {{form_var_numero}} et que je n'ai pas tellement envie de charger la page /inspect avec le traitement de ce gabarit.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0003-workflow-perform-action-only-on-defined-target-45653.patch 0003-workflow-perform-action-only-on-defined-target-45653.patch ajouté
- Fichier 0002-workflow-add-target-mode-id-to-external-and-edit-car.patch 0002-workflow-add-target-mode-id-to-external-and-edit-car.patch ajouté
- Fichier 0001-misc-fix-formdef-label-for-card-actions.patch 0001-misc-fix-formdef-label-for-card-actions.patch ajouté
sans le 0004
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
Je viens de pousser ta branche,
commit f5e0ee46eced9beb59a5801f40ec1da86c7c9199 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Tue Dec 8 11:55:38 2020 +0100 workflow: perform action only on defined target (#45653) commit a7ba34aaececea63a48989b4a0a01c3734d13e19 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Mon Dec 7 16:35:20 2020 +0100 workflow: add target mode/id to external and edit card items (#45653) commit 56b010ff168c4075664f30d29f3e2a70f21cbb2f Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Mon Dec 7 14:35:34 2020 +0100 misc: fix formdef label for card actions
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
workflow: add target mode/id to external and edit card items (#45653)