Projet

Général

Profil

Bug #48881

Valeur incorrecte dans le critère de filtrage d'un champ liste à choix multiple si une virgule est présente dans un élément

Ajouté par Emmanuel Cazenave il y a plus de 3 ans. Mis à jour il y a presque 2 ans.

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Formulaire avec un champ liste à choix multiple donc un des éléments à la valeur foo,bar. Remplir une demande en choisissant foo,bar, sur la page de traitement, critère de filtrage, c'est foo tout seul qui apparaît.

(dans le ticket lié c'est carrément un élément foo et un autre élément bar qui apparaît dans le filtrage mais je ne reproduis pas en local)


Fichiers


Demandes liées

Dupliqué par w.c.s. - Development #64926: Echapper les virgules des critéres de vue personnaliséeFermé05 mai 2022

Actions

Révisions associées

Révision ae8e56e1 (diff)
Ajouté par Frédéric Péters il y a presque 2 ans

backoffice: get items filter options from existing cards (#48881)

Historique

#2

Mis à jour par Emmanuel Cazenave il y a plus de 3 ans

  • Description mis à jour (diff)
#3

Mis à jour par Emmanuel Cazenave il y a plus de 3 ans

On devrait pouvoir élargir ce ticket en "la présence de virgules dans les valeur d'une liste à choix multiple peut foutre complètement la zone dans son critère de filtrage", il y a ce bout de code qui suppose que les virgules sont utilisées comme séparateur de valeur :

if filter_field.type == 'items':
    # unnest key/values
    exploded_options = {}
    for option_keys, option_label in options:
        if option_keys and option_label:
            for option_key, option_label in zip(option_keys, option_label.split(', ')):
                exploded_options[option_key] = option_label
    options = list(sorted(exploded_options.items(), key=lambda x: x[1]))
#4

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

Il faut tirer les options de la colonne structurée text[] plutôt que tenter la reconstitution, mais là il s'agira des identifiants, pas des libellés associés, on n'a pas de chemin garanti libellé -> identifiant.

#5

Mis à jour par Emmanuel Cazenave il y a plus de 3 ans

  • Description mis à jour (diff)
#6

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

  • Dupliqué par Development #64926: Echapper les virgules des critéres de vue personnalisée ajouté
#7

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

Dans #64926 je note :

Avec options qui est du type [(['1', '2'], 'Libellé du 1, Libellé du 2'), ([...], '...')...].

Quand on est sur un champ associé avec une source de données (peut-être limiter ça aux fiches), on pourrait tenter d'obtenir les libellés sur base des ID.

#8

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

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

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

#10

Mis à jour par Emmanuel Cazenave il y a presque 2 ans

Peut-être ajouter dans le test une fiche avec une une virgule dans le label pour coller au problème soulevé ?

Aussi si je lis bien, ça corrige uniquement pour un champ qui utilise des fiches en sources de donnée, ce qui est déjà cool. Mais donc créer un autre ticket pour qu'on ne perde pas l'info comme quoi il y a toujours un problème sur les champs sans source de donnée fiche ?

#12

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

Peut-être ajouter dans le test une fiche avec une une virgule dans le label pour coller au problème soulevé ?

Voilà dans cette version.

#13

Mis à jour par Emmanuel Cazenave il y a presque 2 ans

  • Statut changé de Solution proposée à Solution validée
#14

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit ae8e56e1ed18b41755c508b7954e369e3c5730d2
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri May 6 10:18:08 2022 +0200

    backoffice: get items filter options from existing cards (#48881)
#15

Mis à jour par Transition automatique il y a presque 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#16

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF