Project

General

Profile

Development #31491

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

Added by Frédéric Péters 2 months ago. Updated about 1 month ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
17 Mar 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

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 View (2.72 KB) Frédéric Péters, 17 Mar 2019 09:28 AM


Related issues

Related to w.c.s. - Development #31492: évolution de la source de données JSON pour y permettre du select2 Solution déployée 17 Mar 2019

Associated revisions

Revision dc80587d (diff)
Added by Frédéric Péters about 2 months ago

csvdatasource: provide a ?id= filter to queries (#31491)

History

#1 Updated by Frédéric Péters 2 months ago

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

#2 Updated by Frédéric Péters 2 months ago

  • Related to Development #31492: évolution de la source de données JSON pour y permettre du select2 added

#3 Updated by Benjamin Dauvergne 2 months ago

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 Updated by Frédéric Péters 2 months ago

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 Updated by Benjamin Dauvergne 2 months ago

  • Status changed from Solution proposée to Solution validée
  • Assignee set to Frédéric Péters

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.

#6 Updated by Frédéric Péters about 2 months ago

  • Status changed from Solution validée to Résolu (à déployer)
commit dc80587d5c6d37bad808d8c8e0a70cd80253edd1
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sun Mar 17 09:27:33 2019 +0100

    csvdatasource: provide a ?id= filter to queries (#31491)

#7 Updated by Frédéric Péters about 2 months ago

  • Status changed from Résolu (à déployer) to Solution déployée

#8 Updated by Benjamin Dauvergne about 1 month ago

  • Status changed from Solution déployée to Fermé

Also available in: Atom PDF