Contribuer

Infos Contribution

Suivre
1 suiveur

Statistiques

Envoyé : 2017-09-27 09:37:48 -0500

Vu : 93 fois

Dernière mise à jour : 2019-03-02 05:04:44 -0500

0

Tester l'existence d'une variable dans un workflow

envoyé 2017-09-27 09:37:48 -0500

Image Gravatar de a.ecuvillon

Bonjour,

J'utilise le même workflow pour plusieurs formulaires -en pièce jointe. J'ai créé un statut "Inscription à l'infolettre Arles Info" qui se déclenche avec une condition : form_var_inscription_infolettre == "oui"

Mais cette variable n'existe pas dans tous les formulaires. J'aurai voulu utiliser vars().get('le nom de la variable') comme indiqué dans la documentation (vhttps://doc-publik.entrouvert.com/admin-fonctionnel/utiliser-les-variables/expressions/) mais je ne comprends pas bien comment l'utiliser.

J'ai essayé cela : form_var_inscription_infolettre == "oui" if vars().get('form_var_inscription_infolettre') mais la syntaxe ne doit pas être correcte, car cela génère une erreur.

Je vous remercie de votre aide,

Un workflow est attaché : Workflow - Ville d'Arles (par défaut) (prévisualiser) (télécharger)
modifier requalifier fermer Supprimer

2 réponses

Filtrer les contributions : anciennes récentes populaires
1

répondue 2019-02-22 10:56:02 -0500

Image Gravatar de bluez974

Bonjour,

Je suis tombé sur ce post par hasard en cherchant de la doc sur vars.get()

Le sujet date un peu et a dû être résolu depuis mais ça peut peut-être servir à d'autres.

La bonne syntaxe du if ternaire

valeur1 if (condition_d_affichage_de_valeur_1) else valeur_2

cela donnerait donc dans ce cas

form_var_inscription_infolettre if (vars().get('form_var_inscription_infolettre')) else ''

Vu que la variable à afficher est celle qui est également testée, la syntaxe vars().get() permet de renvoyer une valeur par défaut si la variable n'existe pas,

vars().get('form_var_xxx', 'valeur_par_defaut' )

l'expression serait donc réduite à

vars().get('form_var_inscription_infolettre', '')

modifier Supprimer publié plus
1

répondue 2019-03-02 04:56:39 -0500

Image Gravatar de Laurent
Entr'ouvert

Bonjour,

Quand on a un workflow qui est partagé par plusieurs formulaires et qu'un statut n'est accessible que pour un seul formulaire, on peut utiliser la variable form_slug

Le saut automatique vers le statut « Inscription à l'infolettre Arles Info » pourrait donc avoir une condition django de ce style :

form_slug == "slug-du-formulaire-dinscription" and form_var_inscription_infolettre == "oui"

En django, une méthode de vérification de l’existence d'une variable puis vérification de son contenu pourrait donner la condition suivante dans ce cas précis :

form_var_inscription_infolettre and form_var_inscription_infolettre == "oui"

Je rappelle l’existence de la page d'inspection d'une demande qui permet de connaître les variables qui existent dans une demande. Depuis la mise à jour du 14 février, cette page propose un outil d'analyse et de tests pour les conditions et les gabarits.

modifier Supprimer publié plus
S'identifier/S'inscrire pour répondre