Development #14260
api de recherche "globale"
0%
Description
L'API actuelle permet de chercher/lister selon un formdata donné, pas de manière globale à tous les formdata.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 7 ans
- Fichier 0001-api-add-data-and-geojson-views-covering-all-formdata.patch 0001-api-add-data-and-geojson-views-covering-all-formdata.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Liste "globale" des formdata sous /api/forms/, geojson sous /api/forms/geojson.
Mis à jour par Benjamin Dauvergne il y a presque 7 ans
1. remarque plus de forme qu'autre chose j'aurai bien vu la gestion de limit/offset/order_by partagée avec ManagementDirectory.listing(), je pense qu'il y a des choses factorisables comme avec management_directory.get_global_listing_criterias() qui est ici réutilisé mais il est vrai que le code est touffu
2.
user_roles = [logged_users_role().id] + ( get_request().user.roles if get_request().user else [])est-ce que le cas ou get_request().user est None est bien identifié ? Si oui je verrai bien un commentaire, et si ce cas n'est pas introduit par ce patch peut-être faut-il séparer ce bout dans son propre commit.
3.
d['form_receipt_datetime'] = make_datetime(self.receipt_time)ce bout devrait aller dans son propre commit je pense à moins que le problème que cela résout soit introduit par celui-ci.
4. Il manque la doc pour ces nouveaux endpoints si l'API se documente toujours dans les fichiers mallard de w.c.s.
Si j'aurai raté un point du code où tu aurais aimé des commentaires, n'hésite pas à le signaler.
Mis à jour par Frédéric Péters il y a presque 7 ans
- Fichier 0001-api-add-data-and-geojson-views-covering-all-formdata.patch 0001-api-add-data-and-geojson-views-covering-all-formdata.patch ajouté
1. remarque plus de forme qu'autre chose j'aurai bien vu la gestion de limit/offset/order_by partagée avec ManagementDirectory.listing(), je pense qu'il y a des choses factorisables comme avec management_directory.get_global_listing_criterias() qui est ici réutilisé mais il est vrai que le code est touffu.
Je vais faire un autre truc pour factoriser ça, également dans les vues par formdef; ticket #16529 créé.
2. est-ce que le cas ou get_request().user est None est bien identifié ? Si oui je verrai bien un commentaire, et si ce cas n'est pas introduit par ce patch peut-être faut-il séparer ce bout dans son propre commit.
C'était un cas d'erreur lors du développement mais ça a été corrigé et ça ne doit plus arriver et ce bout de commit n'aurait pas dû être dans le patch, retiré.
3. ce bout devrait aller dans son propre commit je pense à moins que le problème que cela résout soit introduit par celui-ci.
En fait le receipt_time dans les AnyFormData est déjà de type datetime.datetime alors que pour les formdata simples, c'est encore time.struct_time. Comme la direction est d'aller vers datetime (même si c'est suspendu dans #9876), ça me va bien de le laisser ici. J'y ajoute ce commentaire :
# always get receipt time as a datetime object, this handles # both normal formdata (where receipt_time is a time.struct_time) # and sql.AnyFormData where it's already a datetime object.
4. Il manque la doc pour ces nouveaux endpoints si l'API se documente toujours dans les fichiers mallard de w.c.s.
Yep ça se fait toujours ici, c'est ajouté. (mais cette page api-get.page devient trop longue, faudra bientôt réfléchir à comment restructurer).
Mis à jour par Frédéric Péters il y a plus de 6 ans
- Statut changé de En cours à Résolu (à déployer)
commit 5e594d4cb80633109a0ee3c691ee409d02aa221a Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun May 28 00:17:55 2017 +0200 api: add data and geojson views covering all formdatas (#14260)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: add data and geojson views covering all formdatas (#14260)