workflows: store trigger data in structured objects (#64818) #835
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/64818-trigger-data-part"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@ -58,6 +59,10 @@ class HookDirectory(Directory):
if hasattr(get_request(), '_json'):
workflow_data = {self.trigger.identifier: get_request().json}
self.formdata.update_workflow_data(workflow_data)
if get_request().json:
Je serai pour toujours enregistrer, même si on a reçu du vide, pour que l'interrogation de form_trigger_xxx renvoie bien le dernier appel reçu.
@ -1002,0 +1006,4 @@
# (index can be "latest")
from .wf.jump import LazyFormDataWorkflowTriggers
return LazyFormDataWorkflowTriggers(self._formdata)
(commentaire posé ici mais c'est un peu général)
L'idée d'avoir un seul type de Part pour les appels sur les actions globales ou les sauts, et donc que form_trigger_xxx renvoie le dernier "xxx" reçu quelque soit le type d'appel, c'est voulu ? Note que ça me va très bien, c'est juste la question de savoir si c'est bien une feature :)
Je me demande quand même dans quelle mesure on ne pourrait pas stocker dans WorkflowTriggeredEvolutionPart l'origine de l'appel (global ou jump, et une référence vers l'action ou le saut). Peut-être sans l'exposer au départ, mais à terme je verrais bien :
l'idée étant que dans un workflow, quand on va faire référence à form_trigger_paid_xxx on pourra savoir d'où les données viennent, quand elles sont arrivée, qui, etc.
J'ai :
mais pas encore les deux autres, que je garderais bien pour plus tard (via le WorkflowTrace qui s'écrit en même temps on doit déjà pouvoir retrouver l'origine, je me demande dans quelle mesure les deux objets pourraient être liés, mais je préfère ne pas m'avancer là-dedans pour le moment).
d5133f5794
tof291888f4b
f291888f4b
toaee7a76488
aee7a76488
to8a3c045620
8a3c045620
toca6fe5ab00
ca6fe5ab00
to67ac4bd7e6
67ac4bd7e6
toa781a7325f
a781a7325f
to7938b23849
WIP: workflows: store trigger data in structured objects (#64818)to workflows: store trigger data in structured objects (#64818)Éventuellement un petit truc à ajouter dans les tests, sinon c'est tout OK selon moi.
@ -533,0 +560,4 @@
assert formdata.workflow_data == {'plop': {'test': 'BAR'}}
substvars = CompatibilityNamesDict()
substvars.update(formdata.get_substitution_variables())
assert substvars['form_trigger_plop_content_test'] == 'BAR'
Ajouter un
assert substvars['form_trigger_plop_kind'] == 'global'
et ça sera bien complet.
7938b23849
to0955e37a8c