Bug #13921
La définition d'une variable de wf de type liste renvoit un form_option_varname_structured au lieu d'un form_option_varname_raw
0%
Description
- Data sources
Python Expression: [{'id': 'NAISSANCE', 'text': 'Acte de naissance'}, {'id': 'MARIAGE', 'text': 'Acte de mariage'}, {'id': 'DECES', 'text': 'Acte de décès'}]
Fichiers
Révisions associées
Historique
Mis à jour par Josué Kouka il y a plus de 7 ans
Frédéric Péters a écrit :
C'est quoi le bug, c'est quoi la question ?
Elle ne devrait pas renvoyer un
- form_option_type_acte = 'Acte de décès'
- form_option_type_acte_raw = DECES
?
Mis à jour par Frédéric Péters il y a plus de 7 ans
Donc le bug dont tu parles c'est à propos du contenu de form_option_type_acte et l'absence de form_option_type_acte_raw ? Et rien à voir avec _structured ?
Mis à jour par Josué Kouka il y a plus de 7 ans
- Sujet changé de La définition d'une variable de wf de type liste renvoit un form_option_varname_structured à La définition d'une variable de wf de type liste renvoit un form_option_varname_structured au lieu d'un form_option_varname_raw
Frédéric Péters a écrit :
Donc le bug dont tu parles c'est à propos du contenu de form_option_type_acte et l'absence de form_option_type_acte_raw ? Et rien à voir avec _structured ?
Yes (J'ai changé le title)
Mis à jour par Frédéric Péters il y a plus de 7 ans
Non, ce n'est pas au lieu de, ça n'a rien à voir avec _structured.
Ton bug, c'est que tu penses/souhaiterais que, pour un champ liste dans une option de workflow, il y ait un accès à la fois à la valeur id et la valeur d'affichage, et que ce soit dans des variables form_option_type_acte pour la valeur d'affichage et form_option_type_acte_raw pour la valeur d'id.
Mis à jour par Frédéric Péters il y a plus de 7 ans
Et le patch que tu veux, c'est :
diff --git a/wcs/formdef.py b/wcs/formdef.py index 3eac9e6..0ea9a32 100644 --- a/wcs/formdef.py +++ b/wcs/formdef.py @@ -372,6 +372,11 @@ class FormDef(StorableObject): continue option_name = 'form_option_' + field.varname variables[option_name] = self.workflow_options.get(field.varname) + if field.store_display_value: + if '%s_display' % field.varname in self.workflow_options: + variables[option_name + '_raw'] = variables[option_name] + variables[option_name] = self.workflow_options.get( + '%s_display' % field.varname) if field.store_structured_value: if '%s_structured' % field.varname in self.workflow_options: variables[option_name + '_structured'] = self.workflow_options.get(
(mais ça change le comportement actuel, à vérifier donc sur les usages actuels) (l'option étant de plutôt ajouter la valeur d'affichage dans _display).
Mis à jour par Josué Kouka il y a plus de 7 ans
Frédéric Péters a écrit :
Non, ce n'est pas au lieu de, ça n'a rien à voir avec _structured.
Ton bug, c'est que tu penses/souhaiterais que, pour un champ liste dans une option de workflow, il y ait un accès à la fois à la valeur id et la valeur d'affichage, et que ce soit dans des variables form_option_type_acte pour la valeur d'affichage et form_option_type_acte_raw pour la valeur d'id.
Oui exactement, à l'exemple des champs type liste des formulaires.
Mis à jour par Frédéric Péters il y a plus de 7 ans
- Fichier 0001-formdefs-provide-both-id-and-text-for-item-fields-in.patch 0001-formdefs-provide-both-id-and-text-for-item-fields-in.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a plus de 7 ans
Ack.
À relire formdata.get_dict_with_varnames, il y a là bas une autre gestion concernant les structured (de fait, cette différence était déjà visible dans #7472). Ce n'est pas l'objet du ticket, mais je me demande si on devrait pas rapprocher là aussi les comportements ?
Mis à jour par Frédéric Péters il y a plus de 7 ans
- Statut changé de En cours à Résolu (à déployer)
A priori toujours utile de rapprocher les comportements et le code mais je laisse ça pour un autre ticket. (il faudra éventuellement inspecter sur la possible utilisation de _display sur nos plateformes etc.)
commit a8a6953b95b5f7eb31136df4bae496cd517af4b6 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Thu Nov 10 11:50:23 2016 +0100 formdefs: provide both id and text for item fields in workflow options (#13921)
Mis à jour par Frédéric Péters il y a plus de 7 ans
- Statut changé de Résolu (à déployer) à Fermé
formdefs: provide both id and text for item fields in workflow options (#13921)