Projet

Général

Profil

Development #665

élement de workflow "Sauter à"

Ajouté par Thomas Noël il y a plus de 12 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
30 août 2011
Echéance:
% réalisé:

90%

Temps estimé:
Patch proposed:
Planning:

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" :
  1. Emails expéditeur
  2. sauter à "Demande reçue"
  • Statut "Demande reçue"
  1. Emails destinataires
  2. Commentable
  3. Choix "En traitement"
  4. Choix "Refus"
  • Statut "En traitement"
  1. Emails destinataires
  2. Commentable
  3. Choix "Mail de relance à Jo-qui-fait-le-vrai-travail"
  4. Choix "Terminé"
  • Statut "Mail de relance à Jo-qui-fait-le-vrai-travail"
  1. Email à Jo
  2. 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

Révision 30ba7560 (diff)
Ajouté par Thomas Noël il y a plus de 12 ans

workflow: add "Jump to" item

fix #665

Historique

#1

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().

#2

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.

#3

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).

#4

Mis à jour par Thomas Noël il y a plus de 12 ans

  • Description mis à jour (diff)
#5

Mis à jour par Thomas Noël il y a plus de 12 ans

  • Fichier JumpWorkflowStatusItem.patch supprimé
#6

Mis à jour par Thomas Noël il y a plus de 12 ans

  • Description mis à jour (diff)
#7

Mis à jour par Thomas Noël il y a plus de 12 ans

  • % réalisé changé de 0 à 90

Appliqué par commit r2198.

#8

Mis à jour par Thomas Noël il y a plus de 12 ans

Reste à faire : traductions.

#9

Mis à jour par Thomas Noël il y a plus de 12 ans

  • Version cible mis à Au-quotidien 2012.1
#10

Mis à jour par Thomas Noël il y a plus de 12 ans

  • Statut changé de Solution déployée à Résolu (à déployer)
#11

Mis à jour par Frédéric Péters il y a plus de 10 ans

  • Statut changé de Résolu (à déployer) à Fermé
#12

Mis à jour par Thomas Noël il y a plus de 8 ans

  • Version cible Au-quotidien 2012.1 supprimé

Formats disponibles : Atom PDF