Projet

Général

Profil

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

Ajouté par Josué Kouka il y a plus de 7 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
10 novembre 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

logitud.wcs (4,32 ko) logitud.wcs Josué Kouka, 10 novembre 2016 11:12
demande-d-un-acte-de-deces.wcs (12 ko) demande-d-un-acte-de-deces.wcs Josué Kouka, 10 novembre 2016 11:12
wf_varname_structured.png (9,38 ko) wf_varname_structured.png Josué Kouka, 10 novembre 2016 11:16
0001-formdefs-provide-both-id-and-text-for-item-fields-in.patch (2,79 ko) 0001-formdefs-provide-both-id-and-text-for-item-fields-in.patch Frédéric Péters, 10 novembre 2016 11:53

Révisions associées

Révision a8a6953b (diff)
Ajouté par Frédéric Péters il y a plus de 7 ans

formdefs: provide both id and text for item fields in workflow options (#13921)

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 7 ans

C'est quoi le bug, c'est quoi la question ?

#2

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

?

#3

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 ?

#4

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)

#5

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.

#6

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

#7

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.

#8

Mis à jour par Frédéric Péters il y a plus de 7 ans

#9

Mis à jour par Josué Kouka il y a plus de 7 ans

  • Assigné à mis à Frédéric Péters
#10

Mis à jour par Frédéric Péters il y a plus de 7 ans

  • Assigné à Frédéric Péters supprimé
#11

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 ?

#12

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

Mis à jour par Frédéric Péters il y a plus de 7 ans

  • Version cible mis à v1.65
#14

Mis à jour par Frédéric Péters il y a plus de 7 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF