Project

General

Profile

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

Added by Josué Kouka almost 6 years ago. Updated almost 6 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Target version:
Start date:
10 November 2016
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
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'}]
    

Files

logitud.wcs (4.32 KB) logitud.wcs Josué Kouka, 10 November 2016 11:12 AM
demande-d-un-acte-de-deces.wcs (12 KB) demande-d-un-acte-de-deces.wcs Josué Kouka, 10 November 2016 11:12 AM
wf_varname_structured.png (9.38 KB) wf_varname_structured.png Josué Kouka, 10 November 2016 11:16 AM
0001-formdefs-provide-both-id-and-text-for-item-fields-in.patch (2.79 KB) 0001-formdefs-provide-both-id-and-text-for-item-fields-in.patch Frédéric Péters (de retour le 10/10), 10 November 2016 11:53 AM

Associated revisions

Revision a8a6953b (diff)
Added by Frédéric Péters (de retour le 10/10) almost 6 years ago

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

History

#1

Updated by Frédéric Péters (de retour le 10/10) almost 6 years ago

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

#2

Updated by Josué Kouka almost 6 years ago

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

Updated by Frédéric Péters (de retour le 10/10) almost 6 years ago

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

Updated by Josué Kouka almost 6 years ago

  • Subject changed from La définition d'une variable de wf de type liste renvoit un form_option_varname_structured to 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

Updated by Frédéric Péters (de retour le 10/10) almost 6 years ago

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

Updated by Frédéric Péters (de retour le 10/10) almost 6 years ago

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

Updated by Josué Kouka almost 6 years ago

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.

#9

Updated by Josué Kouka almost 6 years ago

  • Assignee set to Frédéric Péters (de retour le 10/10)
#10

Updated by Frédéric Péters (de retour le 10/10) almost 6 years ago

  • Assignee deleted (Frédéric Péters (de retour le 10/10))
#11

Updated by Thomas Noël almost 6 years ago

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

Updated by Frédéric Péters (de retour le 10/10) almost 6 years ago

  • Status changed from En cours to 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

Updated by Frédéric Péters (de retour le 10/10) almost 6 years ago

  • Target version set to v1.65
#14

Updated by Frédéric Péters (de retour le 10/10) almost 6 years ago

  • Status changed from Résolu (à déployer) to Fermé

Also available in: Atom PDF