Development #665
élement de workflow "Sauter à"
90%
Description
Idée : avoir une action de workflow qui permet de sauter directement dans un autre statut.
S'utiliserait principalement pour envoyer des mails "une seule fois" en changeant ensuite aussitôt de statut. C'est une demande fréquente...
Exemples d'utilisation :
- Statut "Notification d'arrivée" :
- Emails expéditeur
- sauter à "Demande reçue"
- Statut "Demande reçue"
- Emails destinataires
- Commentable
- Choix "En traitement"
- Choix "Refus"
- Statut "En traitement"
- Emails destinataires
- Commentable
- Choix "Mail de relance à Jo-qui-fait-le-vrai-travail"
- Choix "Terminé"
- Statut "Mail de relance à Jo-qui-fait-le-vrai-travail"
- Email à Jo
- sauter à "En traitement"
Améliorations possible :
* ajouter une condition (formule sur variables de substitution, comme pour les pages)
* dans les choix, permettre revenir au «statut précédent» (pour faire une sorte de "return").
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a plus de 12 ans
Le truc qui me chiffonne, c'est le "formdata.store()" final dans perform().
Mis à jour par Thomas Noël il y a plus de 12 ans
- Fichier JumpWorkflowStatusItem.patch ajouté
Nouvelle version : si le statut change, il faut aussi executer les actions du nouveau statut (envoi de mail, etc). Et ces nouvelles actions demandent à modifier encore le statut, il faut continuer.
Tant que le statut change, on execute donc les nouvelles actions. Pour éviter les boucles (workflows mal programmés), on limite le nombre d'itération à 20.
Pour faire cela, j'ai modifié la méthode WorkflowStatus.perfom_items : c'est elle qui enregistre aussi l'évolution et fait le store(). Elle ressemble comme cela un peu plus à handle_form(), ce qui me semble normal.
Mis à jour par Thomas Noël il y a plus de 12 ans
Le même patch, avec l'ajout d'une possibilité de condition (je profite des variables de substitutions). La condition s'exprime comme celle des pages.
On peut alors cumuler plusieurs éléments sauts dans un seul statut, avec différentes conditions pour dispatcher dans différents statuts (un peu pénible, mais possible).
Mis à jour par Thomas Noël il y a plus de 12 ans
- % réalisé changé de 0 à 90
Appliqué par commit r2198.
Mis à jour par Thomas Noël il y a plus de 12 ans
- Statut changé de Solution déployée à Résolu (à déployer)
Mis à jour par Frédéric Péters il y a plus de 10 ans
- Statut changé de Résolu (à déployer) à Fermé
workflow: add "Jump to" item
fix #665