Development #447
champ [before] disponible dans les mails
90%
Description
Dans les mails envoyés par le workflow par défaut, on dispose d'un champ [before] qui permet d'affiche le statut précédent.
Est-il possible d'obtenir la même possibilité dans les mails des workflows custom ?
(demande faite à Victor lors de la formation à Echirolles de ce jour)
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 13 ans
- Description mis à jour (diff)
- Statut changé de Nouveau à Résolu (à déployer)
Les variables de substitution sont maintenant accessibles, la variable contenant le statut précédent s'appelle [form_previous_status].
Author: fpeters Date: 2011-06-27 08:49:29 +0000 (Mon, 27 Jun 2011) New Revision: 2155 Log: Add support for substitution variables to workflows. - This allows variables to be used in exported models (#465) - This allows access to the previous status in emails (#447) - This allows a workflow field to reference a form field (#248) - This allows a workflow field to reference a user field (#249)
Mis à jour par Thomas Noël il y a plus de 12 ans
Le code de production du [form_previous_status] :
d['form_previous_status'] = '' if self.evolution: for evolution in reversed(self.evolution): if evolution.status and evolution.status != self.status: d['form_previous_status'] = self.get_status_label(evolution.status) break
ne fonctionne pas si on est dans la seconde étape d'un workflow, car formdata.evolution ne contient pas le statut initial d'un formdata (et je pense que c'est ce dernier point qu'il faudrait corriger).
Mis à jour par Thomas Noël il y a plus de 12 ans
Une proposition de correction :
--- formdata.py.orig 2011-08-30 14:02:25.080071640 +0200 +++ formdata.py 2011-08-30 14:15:43.264049723 +0200 @@ -123,12 +123,17 @@ def just_created(self): self.receipt_time = time.localtime() if self.formdef.workflow_id: self.status = 'wf-%s' % self.formdef.workflow.possible_status[0].id else: self.status = 'new' + evo = Evolution() + evo.who = self.user_id + evo.time = self.receipt_time + evo.status = self.status + self.evolution = [evo]
Conséquence : les nouveaux formulaires ont tous une première étape dans l'historique, qui est le premier statut du workflow associé, à la date de la soumission.
Selon moi, ça rend l'historique plus complet. Des objections ?
Mis à jour par Thomas Noël il y a plus de 12 ans
- Statut changé de Résolu (à déployer) à Solution déployée
- % réalisé changé de 0 à 90
Appliqué par commit r2175.
Mis à jour par Thomas Noël il y a plus de 12 ans
- Statut changé de Solution déployée à Fermé
- Assigné à mis à Thomas Noël
- Version cible mis à 32
add the initial status to the history
We add the initial status to the history of a new formdata : this makes the
history more readable afterwards.
Also this gets the (previous_status) code to work in all cases, cf
http://dev.entrouvert.org/issues/447 -- fix #447