Development #62598
Garde partagée, support dans les apis de réservation d'évènements sur plusieurs agendas
0%
Description
C'est à dire /api/agendas/datetimes/ et /api/agendas/events/fillslots/, on traitera celle pour réserver la semaine type dans un autre ticket.
Fichiers
Révisions associées
api: check shared custody in multiple agendas fillslots (#62598)
api: make shared custody work with recurring events in datetimes (#62598)
Historique
Mis à jour par Valentin Deniaud il y a environ 2 ans
- Fichier 0001-api-filter-on-shared-custody-in-multiple-agendas-dat.patch 0001-api-filter-on-shared-custody-in-multiple-agendas-dat.patch ajouté
- Fichier 0002-api-check-shared-custody-in-multiple-agendas-fillslo.patch 0002-api-check-shared-custody-in-multiple-agendas-fillslo.patch ajouté
- Fichier 0003-api-make-shared-custody-work-with-recurring-events-i.patch 0003-api-make-shared-custody-work-with-recurring-events-i.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
0003 est très relou et probablement un nid à bug, il répond au problème constaté dans #62046.
Mis à jour par Lauréline Guérin il y a environ 2 ans
0001: # incomplete rules make some events not bookable
Peut-être qu'il faudrait prévoir de pouvoir afficher dans la démarche que le calendrier de garde n'est pas complet, pour avoir un warning ?
Donc, dans un autre ticket, avoir un endpoint pour récupérer les détails d'un agenda de garde ?
0003:
if max_start: all_periods.filter(date_start__lte=max_start) if min_start: all_periods.filter(date_end__gte=min_start)
gte
ou gt
? La borne max d'une période doit être exclue(peut-être modifier ou compléter les tests pour avoir une occurence le jour de la date de fin d'une SharedCustodyPeriod, pour vérifier ?)
custody_exceptions = all_periods.exclude(guardian__user_external_id=guardian_external_id)
J'ai pas l'impression que ça soit utilisé dans le code ?
Mis à jour par Valentin Deniaud il y a environ 2 ans
Lauréline Guerin a écrit :
0001:
# incomplete rules make some events not bookable
Peut-être qu'il faudrait prévoir de pouvoir afficher dans la démarche que le calendrier de garde n'est pas complet, pour avoir un warning ?
Donc, dans un autre ticket, avoir un endpoint pour récupérer les détails d'un agenda de garde ?
Ouep, c'est pour un autre ticket et c'est à voir avec Stéphane également.
0003:
[...]gte
ougt
? La borne max d'une période doit être exclue
(peut-être modifier ou compléter les tests pour avoir une occurence le jour de la date de fin d'une SharedCustodyPeriod, pour vérifier ?)
C'est purement de l'optimisation, on pourrait récupérer toutes les périodes ça fonctionnerait pareil, ce n'est pas là qu'on vérifie la date pour de vrai. Mais oui il manque un test ça ne doit pas être couvert actuellement
custody_exceptions = all_periods.exclude(guardian__user_external_id=guardian_external_id)
J'ai pas l'impression que ça soit utilisé dans le code ?
Si juste en dessous agenda.prefetched_exceptions.extend(custody_exceptions)
. En fait si il y a une période de garde explicite pour un gardien il faut faire deux choses, l'inclure pour l'un et l'exclure pour l'autre, et ici l'exclusion marche comme s'il y avait une exception donc autant réutiliser ça.
Mis à jour par Lauréline Guérin il y a environ 2 ans
Si juste en dessous agenda.prefetched_exceptions.extend(custody_exceptions). En fait si il y a une période de garde explicite pour un gardien il faut faire deux choses, l'inclure pour l'un et l'exclure pour l'autre, et ici l'exclusion marche comme s'il y avait une exception donc autant réutiliser ça.
Ok vu, je cherchais prefetched_exceptions
dans les patchs du ticket, mais c'est dans le code existant.
Mais oui il manque un test ça ne doit pas être couvert actuellement
J'attends de voir le test avant de valider :)
Mis à jour par Valentin Deniaud il y a environ 2 ans
- Fichier 0003-api-make-shared-custody-work-with-recurring-events-i.patch 0003-api-make-shared-custody-work-with-recurring-events-i.patch ajouté
Avec un test en plus
Mis à jour par Lauréline Guérin il y a environ 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Valentin Deniaud il y a environ 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit f158dc02ef04f497168ef8ac84d4c505c1274df8 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Tue Mar 8 17:39:11 2022 +0100 api: make shared custody work with recurring events in datetimes (#62598) commit 6311c5146a4b4ecc9dfa4c8fe4b5170bafc3c1be Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Tue Mar 8 15:38:22 2022 +0100 api: check shared custody in multiple agendas fillslots (#62598) commit 5674a606ff992f8b65609eb321fb0ef574651e44 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Mon Mar 7 17:40:41 2022 +0100 api: filter on shared custody in multiple agendas datetimes (#62598)
Mis à jour par Transition automatique il y a environ 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: filter on shared custody in multiple agendas datetimes (#62598)