Projet

Général

Profil

Development #61669

API pointant vers une fiche particulière, mais avec filtre de vue personnalisée

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
10 février 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Aujourd'hui on a /api/cards/<carddef-slug>/<card-id>; ce ticket pour avoir /api/cards/<carddef-slug>/<custom-view>/<card-id>, qui retournerait l'id s'il correspond aux critères de la vue uniquement.

L'origine est #58878 pour avoir une cellule "contenu d'une fiche" qui n'afficherait pas le contenu si pas dans la vue.


Fichiers


Demandes liées

Lié à Combo - Development #58878: "contenu d'une fiche", pouvoir restreindre la visibilité de la cellule selon l'appartenance de l'usager connecté à une fonction de la ficheFermé23 novembre 202124 février 2022

Actions

Révisions associées

Révision 8e76e7ba (diff)
Ajouté par Frédéric Péters il y a environ 2 ans

api: add endpoint to get card data only if matching custom view (#61669)

Historique

#1

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

  • Lié à Development #58878: "contenu d'une fiche", pouvoir restreindre la visibilité de la cellule selon l'appartenance de l'usager connecté à une fonction de la fiche ajouté
#2

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

Il y a deux parties, dans wcs/forms/common.py, quand une vue personnalisée a été passée on regarde les id qui sont dedans et si jamais ça ne correspond pas à l'id demandé, hop 404. À écrire, ça, surtout le from wcs.backoffice.management import FormDefUI, FormPage, je me suis dit qu'il y aurait un moment proche de nettoyage de management.py, a priori pour isoler la partie sur la gestion des filtres dans une classe parente mais je n'ai pas regardé plus que ça, ça viendra une fois qu'on aura intégré tous les travaux actuels autour des filtres (opérateurs etc.).

L'autre partie dans wcs/api.py, la structure des URL actuelles est assez galère je trouve, avec le slug de la vue perso qui vient se caler derrière (list, ods, ou geojson), je revois ça pour notamment permettre de manière sûre et systématique un / final. Aussi j'introduis /api/cards/<carddef-slug>/<custom-view>/list, équivalent à /api/cards/<carddef-slug>/list/<custom-view>, ce qui sonne mieux pour ce qui était in fine l'objet de ce ticket, permettre /api/cards/<carddef-slug>/<custom-view>/<optional-card-id>/.

(c'est objectivement encore un peu moche ce _q_traverse).

#3

Mis à jour par Lauréline Guérin il y a environ 2 ans

Si on s'amuse à passer des filtres à l'url (genre /api/cards/<carddef-slug>/<custom view>/<optional card id>/?filter-foo=bar), est-ce que ce filtre est pris en compte ?
C'est le cas lorsqu'on liste les formdata d'une custom view, les filtres additionnels sont pris en compte.

#4

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

Oui c'est pris en compte. (j'ai rien fait pour mais via combo ça passe ?filter-user-uuid= et il est considéré).

(je peux ajouter un test pour valider ça)

#5

Mis à jour par Lauréline Guérin il y a environ 2 ans

via combo ça passe ?filter-user-uuid= et il est considéré

C'est pas faux, c'est le but de la manoeuvre.

Ok pour un test :)

#6

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

Voilà avec test ajouté qui ajoute ?filter-foobar=FOO et hop plus de résultat.

#7

Mis à jour par Lauréline Guérin il y a environ 2 ans

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

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit 8e76e7ba39f183baf2db4bb1bb2fad4de00bdd18
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Feb 10 19:56:38 2022 +0100

    api: add endpoint to get card data only if matching custom view (#61669)
#9

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

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

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

Automatic expiration

Formats disponibles : Atom PDF