Développement #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).
Files
Associated revisions
api: add endpoint to book multiple events accross several agendas (#56104)
History
Updated by Valentin Deniaud over 3 years ago
- File 0001-api-factorize-getting-objects-from-list-of-slugs-561.patch 0001-api-factorize-getting-objects-from-list-of-slugs-561.patch added
- File 0002-api-add-endpoint-to-book-multiple-events-accross-sev.patch 0002-api-add-endpoint-to-book-multiple-events-accross-sev.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Updated by Lauréline Guérin over 3 years ago
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)
Updated by Valentin Deniaud over 3 years ago
- File 0001-api-factorize-getting-objects-from-list-of-slugs-561.patch 0001-api-factorize-getting-objects-from-list-of-slugs-561.patch added
- File 0002-api-add-endpoint-to-book-multiple-events-accross-sev.patch 0002-api-add-endpoint-to-book-multiple-events-accross-sev.patch added
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.
Updated by Lauréline Guérin over 3 years ago
- Status changed from Solution proposée to Solution validée
dans la méthode get_already_booked_events
, le if est toujours nécessaire ?
Updated by Valentin Deniaud over 3 years ago
- Status changed from Solution validée to 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)
Updated by Frédéric Péters over 3 years ago
- Status changed from Résolu (à déployer) to Solution déployée
api: factorize getting objects from list of slugs (#56104)