Projet

Général

Profil

Bug #13870

panne sur liste à choix multiples : toujours à None

Ajouté par Thomas Noël il y a plus de 7 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Immediat
Assigné à:
Version cible:
Début:
04 novembre 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Un formulaire avec un champ liste à choix multiple, avec un nom de variable "xxx" : le form_var_xxx est à None même si un choix est coché.


Fichiers


Demandes liées

Lié à w.c.s. - Bug #13581: champ cases à cocher avec des libellés contenant des guillemetsFermé13 octobre 2016

Actions

Révisions associées

Révision 3623c0fb (diff)
Ajouté par Thomas Noël il y a plus de 7 ans

forms: don't modify "normal" keys in checkboxes widget (#13870)

Historique

#2

Mis à jour par Thomas Noël il y a plus de 7 ans

apparu entre v1.61 et v1.62

#3

Mis à jour par Thomas Noël il y a plus de 7 ans

apparu lors de 319e560 → #13581

#4

Mis à jour par Thomas Noël il y a plus de 7 ans

diff --git a/wcs/qommon/form.py b/wcs/qommon/form.py
index 6722777..3f529e0 100644
--- a/wcs/qommon/form.py
+++ b/wcs/qommon/form.py
@@ -1136,7 +1136,7 @@ class CheckboxesWidget(CompositeWidget):
         for i, option in enumerate(options):
             if len(option) == 2:
                 key, title = option[:2]
-                key = str(i)
             else:
                 _, title, key  = option[:3]

... mais je ne comprends pas encore bien #13581

#5

Mis à jour par Thomas Noël il y a plus de 7 ans

peut-être plutôt :

diff --git a/wcs/qommon/form.py b/wcs/qommon/form.py
index 6722777..e1b2579 100644
--- a/wcs/qommon/form.py
+++ b/wcs/qommon/form.py
@@ -1136,12 +1136,12 @@ class CheckboxesWidget(CompositeWidget):
         for i, option in enumerate(options):
             if len(option) == 2:
                 key, title = option[:2]
-                key = str(i)
+                name = 'element%d' % i
             else:
                 _, title, key  = option[:3]
+                name = 'element%s' % str(key)

             key = str(key)
-            name = 'element%s' % key

             element_kwargs = kwargs.copy()
             if self.options_with_attributes and option[-1].get('disabled'):

mais encore une fois, je ne mesure pas ce que je fais là.

#6

Mis à jour par Thomas Noël il y a plus de 7 ans

  • Lié à Bug #13581: champ cases à cocher avec des libellés contenant des guillemets ajouté
#7

Mis à jour par Thomas Noël il y a plus de 7 ans

  • Sujet changé de liste à choix multiple => form_var_xxx à None à panne sur liste à choix multiples : toujours à None
  • Priorité changé de Normal à Immediat

Je pose la priorité à "immédiat" car c'est un bogue présent en prod.

#8

Mis à jour par Thomas Noël il y a plus de 7 ans

(bien sûr, le test foire dans le patch).

#9

Mis à jour par Thomas Noël il y a plus de 7 ans

  • Privée changé de Non à Oui

Devant l'urgence, en essayant d'avoir un peu confiance en moi, j'ai posé ce patch en recette et en prod.

#10

Mis à jour par Thomas Noël il y a plus de 7 ans

  • Privée changé de Oui à Non
#11

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

Ack.

#12

Mis à jour par Thomas Noël il y a plus de 7 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 3623c0fb4eb1e8c3e21bbf71149f8f1342dd7da9
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Fri Nov 4 15:24:50 2016 +0100

    forms: don't modify "normal" keys in checkboxes widget (#13870)

#13

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

  • Version cible mis à v1.64
#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