Projet

Général

Profil

Development #59849

Pourquoi /api/agendas/recurring-events/ retourne plusieurs événements quand un même événements à plusieurs jours de récurrences ?

Ajouté par Mikaël Ates il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
17 décembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Un même événement récurrent sur 2 jours de récurrences par exemple le mardi et samedi :
https://agendas-departement06.test.entrouvert.org/manage/agendas/326/events/10416/edit?next=settings

On pourrait se dire que dans le listing retourné par /api/agendas/recurring-events/ ce sera un seul événement récurrent et que l'on voudra pouvoir le booker en une seule fois "Les mardi, samedi, à 21h00".

Mais en fait c'est deux événements récurrents qui sont retournés. Il semble donc que le booking devra donc se faire en 2 fois.

Mais pourtant on pourrait se dire que si c'est 2 événements qui se book indépendamment, ce sont 2 événements distincts, donc on aura plutôt tendance à créer 2 événements récurrents distincts, chacun sur un jour. Si on définit un même événement récurrent sur plusieurs jours c'est que c'est bien un même événement, donc on ne voudra proposer qu'un seul événement et pouvoir le booker d'un coup.

Quelle est la logique derrière le fonctionnement actuel ? (Je n'ai pas encore travaillé sur le booking de l'événement récurrent alors je rate peut-être quelque chose).

Historique

#2

Mis à jour par Mikaël Ates il y a plus de 2 ans

  • Sujet changé de Pourquoi /api/agendas/recurring-events/ retourne n événements quand un même événements à plusieurs jours de récurrences ? à Pourquoi /api/agendas/recurring-events/ retourne plusieurs événements quand un même événements à plusieurs jours de récurrences ?
#3

Mis à jour par Nicolas Roche il y a plus de 2 ans

En attendant l'avis des spécialistes, je tente une réponse.
J'ai rien touvé dans la doc, mais de ce que j'ai compris des événements récurrents, c'est juste un moyen de créer de façon récurrente des événements (pas récurrents).

Pour la réservation récurrente (#54332), d'après le test fourni (test_recurring_events_api_fillslots), il faut passer au endpoint "agendas/recurring-events/fillslots/" :
  • Une liste avec l'agenda (foo-bar), le slug de l'événement (event, sunday-event) suivi du jour de la récurrence (0-6 pour lundi à dimance)
    # Book Monday and Thursday of first event and Sunday of second event
    params['slots'] = 'foo-bar@event:0,foo-bar@event:3,foo-bar@sunday-event:6'
    
  • Avec l'utilisateur
    params = {'user_external_id': 'user_id'}
    
  • Et éventuellement la date de début et de fin :
    au endpoint "agendas/recurring-events/fillslots/".
    '&date_start=2020-10-06&date_end=2020-11-06'
    
#4

Mis à jour par Mikaël Ates il y a plus de 2 ans

  • Assigné à mis à Mikaël Ates

Merci beaucoup.

De mon côté j'ai consulté https://doc-publik.entrouvert.com/dev/api-agendas/chrono-fillslot/#Agenda-%C3%A9v%C3%A8nement-r%C3%A9server-toutes-les-occurrences-d%C3%A9v%C3%A8nements-r%C3%A9currents et aussi ce qui est fait à Venissieux.

Effectivement, dans une logique cantine on peut créer un événement cantine avec 4 jours mais on voudra permettre la réservation de certains jours et pas d'autres. Du coût le endpoint /api/agendas/recurring-events/ retourne chaque jour avec leur id comme poker@poker-premier-semestre-2022:1.

On passe alors ça à fillslot ce qui correspond à <slug>:<jour>.

Faut que je mouline encore un peu la chose.

#5

Mis à jour par Valentin Deniaud il y a plus de 2 ans

Mikaël Ates a écrit :

Mais pourtant on pourrait se dire que si c'est 2 événements qui se book indépendamment, ce sont 2 événements distincts, donc on aura plutôt tendance à créer 2 événements récurrents distincts, chacun sur un jour. Si on définit un même événement récurrent sur plusieurs jours c'est que c'est bien un même événement, donc on ne voudra proposer qu'un seul événement et pouvoir le booker d'un coup.

Le point important est là, la philosophie de l'API c'est l'inverse : j'ai un même évènement plusieurs jours par semaines toutes les semaines, et le cas d'usage est de permettre le choix d'un ou plusieurs jours. Ce serait la galère d'avoir autant d'évènements différents qu'il y a de jours, genre à chaque fois que tu modifies la description tu dois aller tous les éditer, etc. C'est plus propre dans le backoffice de n'en avoir qu'un seul.

Cependant on peut tout à fait imaginer un paramètre à l'API pour empêcher l'éclatement automatique des évènements sur plusieurs jours.

#6

Mis à jour par Mikaël Ates il y a plus de 2 ans

  • Assigné à Mikaël Ates supprimé

Ok pour avoir ce paramètre.

StefG note aussi à ce sujet : "Fonctionnement cible également pour PkFam sur les inscriptions aux ateliers."

#7

Mis à jour par Mikaël Ates il y a plus de 2 ans

  • Tracker changé de Support à Development
  • Privée changé de Oui à Non

Formats disponibles : Atom PDF