Projet

Général

Profil

Development #447

champ [before] disponible dans les mails

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
19 mai 2011
Echéance:
% réalisé:

90%

Temps estimé:
Patch proposed:
Planning:

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

Bloqué par w.c.s. - Development #471: Généraliser la disponibilité des tagsFermé07 juin 2011

Actions

Révisions associées

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

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

Historique

#1

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)
#2

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

#3

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 ?

#4

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.

#5

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
#6

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

  • Version cible 32 supprimé

Formats disponibles : Atom PDF