Projet

Général

Profil

Development #64548

Mis à jour par Frédéric Péters il y a environ 2 ans

Si c'est un entier qui est passé ça explose en TypeError,

<pre>
Exception:

type = '<class 'TypeError'>', value = ''int' object is not iterable'

Stack trace (most recent call first):
File "…/wcs/wcs/fields.py", line 2483, in store_display_value
2481 return ''
2482 choices = []
> 2483 for choice in data.get(field_id) or []:
2484 if isinstance(options[0], str):
2485 choices.append(choice)

locals:
choices = []
data = {'520': 2}
field_id = '520'
options = [('1', 'Poussière', '1'), ('2', 'Réunions', '2'), ('3', 'MEP', '3')]
raise_on_error = False
self = <ItemsField 520 'Quelles sont les allergies de votre enfant ?'>

File "…/wcs/wcs/fields.py", line 650, in set_value
648 data['%s' % self.id] = value
</pre>

Mais si c'est une chaine ça va itérer dessus avec succès et ça donnera l'impression de marcher sur des id à un chiffre, avant d'arriver à un résultat incompréhensible, trop tard. Il faudrait donc également lever SetValueError en cas de chaine (ça amènera rendra peut-être des explicite certaines erreurs sur certains sites, où ça marchait qui marchaient par hasard, il y aura à être attentif et faudra les corriger).

Retour