Bug #75160
Quand un bloc contient un champ optionnel de type liste à choix multiple, il n'est jamais considéré comme vide
0%
Description
Cf. #75062-11 (le début du commentaire, après ça parle de conservation du prefilling je vais ouvrir un autre ticket pour cela)
On a un bloc contenant une liste à choix multiple optionnel, or quand on ajoute un ligne la ligne est immédiatement parsé ce qui en général pose simplement formdata_data[block_field.id]['data'][new_row_idx] = None
. Mais pas là, la ligne étant considéré comme non vide dans ce code
# class BlockSubWidget def _parse(self, request): value = {} empty = True for widget in self.get_widgets(): widget_value = self.get_field_data(widget.field, widget) with self.block.visibility_context(value, self.index): if not widget.field.is_visible({}, formdef=None): widget.clear_error() continue value.update(widget_value) if widget_value.get(widget.field.id) is not None: <--- ICI empty = False if empty: value = None self.value = value
Car widget_value.get(...) pour le champ liste à choix multiple renvoie []
et pas None
.
Ça casse le pré-remplissage de la nouvelle ligne ajoutée car apply_field_prefills considère que tous les champs de la nouvelle ligne ont déjà une valeur :
has_current_value = False if block: try: current_value = data[block.id]['data'][block_idx][field.id] has_current_value = True except (IndexError, KeyError, TypeError, ValueError): pass
Révisions associées
Historique
Mis à jour par Robot Gitea il y a 2 mois
- Statut changé de Nouveau à En cours
- Assigné à mis à Frédéric Péters
Frédéric Péters (fpeters) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1139
- Titre : WIP: misc: use None as empty checkboxes value (#75160)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1139/files
Mis à jour par Robot Gitea il y a 2 mois
- Statut changé de Solution proposée à Solution validée
Lauréline Guérin (lguerin) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 2 mois
- Statut changé de Solution validée à Résolu (à déployer)
Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1139
- Titre : misc: use None as empty checkboxes value (#75160)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1139/files
Mis à jour par Transition automatique il y a 2 mois
- Statut changé de Résolu (à déployer) à Solution déployée
misc: use None as empty checkboxes value (#75160)