Bug #16448
L'endpoint /api/agenda/ reprend une URL /datetimes/ invalide pour les rendez-vous de type "réunion"
0%
Description
"api": { "datetimes_url": "https://.../api/agenda/rendez-vous-avec-le-maire/datetimes/" },
Alors qu'il y a une URL par type de rendez-vous, et que la forme serait https://.../api/agenda/rendez-vous-avec-le-maire/meetings/type-de-rendez-vous/datetimes/.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 7 ans
- Fichier 0001-api-include-list-of-meeting-types-and-endpoints-in-a.patch 0001-api-include-list-of-meeting-types-and-endpoints-in-a.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a presque 7 ans
Sans savoir si c'est très utile, je proposerai bien de renvoyer le "kind" dans l'api. (ajouter un 'kind': agenda.kind,
après la ligne 42)
(et rien à voir avec ce patch, mais j'ai l'impression que les éléments «agenda_identifier=None, format=None» sont en trop dans la définition de la méthode get)
Ensuite, ne sachant pas d'où vient ce soucis, je proposerai une relecture par celui qui a remonté le problème (Josué ?).
Mis à jour par Frédéric Péters il y a presque 7 ans
- Fichier 0001-api-include-list-of-meeting-types-and-endpoints-in-a.patch 0001-api-include-list-of-meeting-types-and-endpoints-in-a.patch ajouté
Sans savoir si c'est très utile, je proposerai bien de renvoyer le "kind" dans l'api. (ajouter un 'kind': agenda.kind, après la ligne 42)
Yes, fait.
(et rien à voir avec ce patch, mais j'ai l'impression que les éléments «agenda_identifier=None, format=None» sont en trop dans la définition de la méthode get)
J'ai retiré le agenda_identifier=None; pour le format=None, c'est présent partout et ça sort de django-rest-framework, sans doute par erreur, ce serait pour un autre ticket qui nettoierait tout.
Ensuite, ne sachant pas d'où vient ce soucis, je proposerai une relecture par celui qui a remonté le problème (Josué ?).
Non, j'ai découvert le bug tout seul.
Mis à jour par Thomas Noël il y a presque 7 ans
allez, pour la route, encore un truc un peu inutile, mais autant le faire maintenant : au niveau des meetings, ajouter un « agenda_data['api'] » vers "api-agenda-meetings" (ajouté dans #13360) ?
Genre
elif agenda.kind == 'meetings': agenda_data['api'] = { 'meetings_url': request.build_absolute_uri( reverse('api-agenda-meetings', kwargs={'agenda_identifier': agenda.slug})) }
Avec ou sans cette frioriture, c'est un "ack".
Mis à jour par Frédéric Péters il y a presque 7 ans
- Fichier 0001-api-include-meeting-types-endpoints-in-agenda-API-16.patch 0001-api-include-meeting-types-endpoints-in-agenda-API-16.patch ajouté
allez, pour la route, encore un truc un peu inutile, mais autant le faire maintenant : au niveau des meetings, ajouter un « agenda_data['api'] » vers "api-agenda-meetings" (ajouté dans #13360) ?
En fait, ça me fait penser que j'ai fait les choses à l'envers et ce patch, ça pourrait être uniquement ça, avoir 'api': {'meetings_url': ...} pour les calendriers de ce type, plutôt que le datetimes_url invalide; et libre à l'appelant d'utiliser cette URL pour récupérer la liste des types de rendez-vous, plutôt qu'essayer de tout caler dans cet endpoint.
Mis à jour par Frédéric Péters il y a presque 7 ans
- Statut changé de En cours à Résolu (à déployer)
commit 678b297adffd695f476f2f3ace662579772306c3 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sat Jun 10 15:52:40 2017 +0200 api: include meeting types endpoints in /agenda/ API (#16448)
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: include meeting types endpoints in /agenda/ API (#16448)