Development #56104
Permettre la réservation d'évènements multiples sur plusieurs agendas
0%
Description
#55370 ajoute le côté /datetimes/, ce ticket pour le côté /fillslots/.
Il s'agit d'étendre l'API réservation multiple de #55367 pour accepter des évènements provenant de différents agendas.
Malgré le fait que les évènements servis par /datetimes/ soient de la forme agenda_slug@event_slug, il va quand même falloir ajouter un paramètre supplémentaire ?agendas= avec les slugs des agendas concernés (le même que celui qu'on a passé à /datetimes/), afin de permettre la mise à jour des réservation (introduite par #55368).
Fichiers
Révisions associées
api: add endpoint to book multiple events accross several agendas (#56104)
Historique
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0001-api-factorize-getting-objects-from-list-of-slugs-561.patch 0001-api-factorize-getting-objects-from-list-of-slugs-561.patch ajouté
- Fichier 0002-api-add-endpoint-to-book-multiple-events-accross-sev.patch 0002-api-add-endpoint-to-book-multiple-events-accross-sev.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Lauréline Guérin il y a plus de 2 ans
0001: _(f'invalid {objects_name}: {unknown_slugs}')
la traduction va fonctionner ?
0002: r'^agenda/events/fillslots/$'
idem ticket datetimes, avec un agenda.slug == 'events' ça va coincer non ?
il va quand même falloir ajouter un paramètre supplémentaire ?agendas= avec les slugs des agendas concernés (le même que celui qu'on a passé à /datetimes/), afin de permettre la mise à jour des réservation (introduite par #55368).
Il y a des cas d'usage où on voudrait faire de la réservation sans mise à jour via cette API ? Sachant que la nouvelle API agenda/(?P<agenda_identifier>[\w-]+)/events/fillslots/
fait de la mise à jour de réservation sans que ce soit possible de faire autrement ?
J'aurais tendance à imposer les mêmes paramètres pour datetimes et fillslots (les mêmes agendas slug), et même à vérifier que les agendas trouvés d'après les events correspondent bien aux agendas passés en param
(pour éviter les erreurs de paramétrage des démarches)
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0001-api-factorize-getting-objects-from-list-of-slugs-561.patch 0001-api-factorize-getting-objects-from-list-of-slugs-561.patch ajouté
- Fichier 0002-api-add-endpoint-to-book-multiple-events-accross-sev.patch 0002-api-add-endpoint-to-book-multiple-events-accross-sev.patch ajouté
Lauréline Guerin a écrit :
0001:
_(f'invalid {objects_name}: {unknown_slugs}')
la traduction va fonctionner ?
Les f-strings makemessages s'en sort sans problème, par contre oui « objects_name » n'est pas traduit dans mon patch (ça pourrait). Mais bon il était surtout là pour ne pas avoir à toucher aux tests des resources, ce qui n'est pas une très bonne raison, alors qu'en vrai je pense qu'on peut le remplacer par un banal et générique « slugs », personne ne nous en voudra. Et du coup je vire la f-string, qui était là pour éviter une forme à pourcentage particulièrement moche.
0002:
r'^agenda/events/fillslots/$'
idem ticket datetimes, avec un agenda.slug == 'events' ça va coincer non ?
Ouep, j'applique le même fix à savoir s/agenda/agendas.
J'aurais tendance à imposer les mêmes paramètres pour datetimes et fillslots (les mêmes agendas slug), et même à vérifier que les agendas trouvés d'après les events correspondent bien aux agendas passés en param
Oui très bien ça me va de bien restreindre au cas d'usage cible.
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
dans la méthode get_already_booked_events
, le if est toujours nécessaire ?
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 67f1f68fd69bbf294fad47ff6cf60560785ffda2 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Tue Aug 10 15:38:23 2021 +0200 api: add endpoint to book multiple events accross several agendas (#56104) commit 0cf2c62199a1dfbc4d61ab1775d12fcf127e94ba Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Aug 11 16:03:09 2021 +0200 api: factorize getting objects from list of slugs (#56104)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: factorize getting objects from list of slugs (#56104)