Projet

Général

Profil

Development #31491

tableur : fournir un filtre ?id= automatique aux requêtes

Ajouté par Frédéric Péters il y a 9 jours. Mis à jour il y a environ 14 heures.

Statut:
Solution validée
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
17 mar. 2019
Echéance:
% réalisé:

0%

Patch proposed:
Oui

Description

Après avoir obtenu un identifiant de ligne (genre via un champ select2), avoir à coup sûr une requête permettant d'obtenir le détail de la ligne à partir de cet identifiant.

0001-csvdatasource-provide-a-id-filter-to-queries-31491.patch Voir (2,72 ko) Frédéric Péters, 17 mar. 2019 09:28


Demandes liées

Lié à w.c.s. - Development #31492: évolution de la source de données JSON pour y permettre du select2 Nouveau 17 mar. 2019

Historique

#1 Mis à jour par Frédéric Péters il y a 9 jours

Implémentation simple et naïve, ça pourra être optimisé aprè #31490.

#2 Mis à jour par Frédéric Péters il y a 9 jours

  • Lié à Development #31492: évolution de la source de données JSON pour y permettre du select2 ajouté

#3 Mis à jour par Benjamin Dauvergne il y a environ 18 heures

Est-ce que ça n'irait pas plutôt dans la vue /data classique ? Je dis ça parce que reste le problème du format en sortie {err:0, data: [row]} qui dépend de la configuration de la Query, plutôt que {err:0, data: row} plus classique dans le cas de la récupération d'une seule ligne.

Aussi j'ai peur que cela interagisse mal avec les requêtes contenant un filtre explicite utilisant une paramètre de query string id du genre code_rue == query['id'].

#4 Mis à jour par Frédéric Péters il y a environ 16 heures

Est-ce que ça n'irait pas plutôt dans la vue /data classique ? Je dis ça parce que reste le problème du format en sortie {err:0, data: [row]} qui dépend de la configuration de la Query [...]

Sauf que pour fonctionner en source de données w.c.s. il n'y a de toute façon pas de marge sur la configuration de la requête.

Aussi j'ai peur que cela interagisse mal avec les requêtes contenant un filtre explicite utilisant une paramètre de query string id du genre code_rue == query['id'].

J'ai oublié de le noter mais je suis passé sur les requêtes définies en prod et ça n'arrive pas.

#5 Mis à jour par Benjamin Dauvergne il y a environ 14 heures

  • Assigné à mis à Frédéric Péters
  • Statut changé de Solution proposée à Solution validée

Frédéric Péters a écrit :

Est-ce que ça n'irait pas plutôt dans la vue /data classique ? Je dis ça parce que reste le problème du format en sortie {err:0, data: [row]} qui dépend de la configuration de la Query [...]

Sauf que pour fonctionner en source de données w.c.s. il n'y a de toute façon pas de marge sur la configuration de la requête.

De toute façon ça n'a pas de lien avec l'utilisation par Select2 c'est pour être utilisé après que Select2 ait rapporté un id stocké dans un form_var_xx_raw, que ce soit définir directement sur les query ou sur /data n'y changera rien.

Aussi j'ai peur que cela interagisse mal avec les requêtes contenant un filtre explicite utilisant une paramètre de query string id du genre code_rue == query['id'].

J'ai oublié de le noter mais je suis passé sur les requêtes définies en prod et ça n'arrive pas.

Ce n'est pas entièrement satisfaisant comme réponse, ça reste possible et les gens auront à choisir entre renommer une colonne en id via les projections ou filtrer et je ne sais pas ce qu'ils vont faire si rien ne les empêche.

Étant un peu perdu je suis allé vérifier sur Chateauroux où je me souviens d'un cas d'usage typique (un seul CSV avec des arrêts, des lignes et des villes), typiquement le genre de truc dont on extrait plusieurs référentiel, et c'est vrai id n'y est pas pas mappé mais simplement parce que les requêtes sont mal faites, l'id des arrêts est réutilisé pour les villes et les lignes (ça ne marche que si l'ordre des lignes du CSV ne change jamais sinon les id vont varier): exemple de requête https://passerelle-chateauroux.test.entrouvert.org/manage/csvdatasource/transports-complet/queries/2/ ici on devrait remapper ville sur id; sauf qu'ensuite lors du filtrage des arrêt ou des lignes je suppose qu'on utilise la valeur naturelle et pas la valeur _raw qui ne sert juste à rien.

Mais donc c'est ok vu que tu te places juste après les projections, il faudra donc conseiller aux gens de toujours bien mapper leur clé naturelle sur l'identifiant id.

Formats disponibles : Atom PDF