get_all_slots() : l'exclusion des créneaux pour un même user_external_id ne prend pas en compte tous les agendas (#75587) #59
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/75587-get-all-slots-l-exclusion-des-cr"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ca me va, tu pourrais écrire un test ?
Oui j'attendais qu'on soit d'accord sur le comportement avant de m'y mettre.
41b166d738
to49e57af1b3
Voila j'ai ajouté un test, ça vérifie l'exclusion entre plusieurs agendas rdv avec des Timeperiod différentes (ça check le fait qu'on utilise plus agenda_ids, sans timeperiod différent on avait un seul agenda_ids et ça marchait, certainement pour cela qu'on a pas eu de souci particulier avec ça pour l'instant sur des agendas virtuels qui doivent représenter 99% des usages) et aussi sur un agenda RdV depuis un booking sur un agenda évènement. Pour ce dernier point ça a nécessité d'ajouter la récupération de Event.duration en plus de MeetingType.duration pour s'adapter.
Il faut vraiment être certain du comportement parce maintenant si j'ai pris un RdV sur l'agenda A avec mon compte pour ma fille, je ne peux plus prendre aucune agenda sur un agenda B qui n'a aucune rapport à la même heure pour mon fils (enfin ça dépend du user_external_id qui est utilisé mais si c'est le NameID ça va bloquer), si ces réservations utilisent l'exclusion par user_external_id.
Sur le datetimes des agendas évènements l'exclusion ne se fait que vis à vis des réservations du même évènement, je n'ai pas changé ce comportement.
jenkins fail, et la PR est toujours en draft
Oui c'est wip mais c'est un warning de pylint ça peut être commenté.
Non attends ça ne va pas du tout:
"il me semble que le but est d'exclure tous les créneaux de quelque agenda qu'ils viennent pour le même user_external_id."
C'est faux, on veut empêcher le user de réserver un même créneau sur l'agenda visé, pas sur tous les agendas qui existent.
Donc oui, le code ne fonctionne pas pour les agendas virtuels, et il faut corriger ça en filtrant les bookings sur tous les agendas de l'agenda virtuel, mais il ne faut pas empêcher la réservation d'un créneau sur un agenda rdv parce qu'il y a une réservation sur un agenda event à la même heure. Ce n'était pas le but de ce dev.
D'ailleurs, sur les endpoint datetimes réservé aux agendas de type events, on ne regarde que ce qui se passe sur les agenda concernés par cet appel: pas tous les agendas events, et encore moins les agendas meetings.
C'est pas faute d'avoir posé la question plusieurs fois dans le ticket et sur le salon, donc la fonctionnalité ne concerne vraiment que les agenda virtuels et dans ce cas il faut regarder tous les agendas le composant. J'ai compris.
49e57af1b3
toae8de3dd39
@ -275,2 +275,2 @@
.order_by('start_datetime', 'meeting_type__duration')
.values_list('start_datetime', 'meeting_type__duration')
.order_by('start_datetime', 'meeting_type__duration', 'duration')
.values_list('start_datetime', 'meeting_type__duration', 'duration')
plus besoin de duration, si ?
Retiré.
ae8de3dd39
toc1bfeaa33a
WIP: get_all_slots() : l'exclusion des créneaux pour un même user_external_id ne prend pas en compte tous les agendas (#75587)to get_all_slots() : l'exclusion des créneaux pour un même user_external_id ne prend pas en compte tous les agendas (#75587)c1bfeaa33a
todd9a28ff84
dd9a28ff84
to22e8d00e31