Développement #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.
Files
Associated revisions
api: check shared custody in multiple agendas fillslots (#62598)
api: make shared custody work with recurring events in datetimes (#62598)
History
Updated by Valentin Deniaud almost 3 years ago
- File 0001-api-filter-on-shared-custody-in-multiple-agendas-dat.patch 0001-api-filter-on-shared-custody-in-multiple-agendas-dat.patch added
- File 0002-api-check-shared-custody-in-multiple-agendas-fillslo.patch 0002-api-check-shared-custody-in-multiple-agendas-fillslo.patch added
- File 0003-api-make-shared-custody-work-with-recurring-events-i.patch 0003-api-make-shared-custody-work-with-recurring-events-i.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
0003 est très relou et probablement un nid à bug, il répond au problème constaté dans #62046.
Updated by Lauréline Guérin almost 3 years ago
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 ?
Updated by Valentin Deniaud almost 3 years ago
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.
Updated by Lauréline Guérin almost 3 years ago
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 :)
Updated by Valentin Deniaud over 2 years ago
- File 0003-api-make-shared-custody-work-with-recurring-events-i.patch 0003-api-make-shared-custody-work-with-recurring-events-i.patch added
Avec un test en plus
Updated by Lauréline Guérin over 2 years ago
- Status changed from Solution proposée to Solution validée
Updated by Valentin Deniaud over 2 years ago
- Status changed from Solution validée to 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)
Updated by Transition automatique over 2 years ago
- Status changed from Résolu (à déployer) to Solution déployée
api: filter on shared custody in multiple agendas datetimes (#62598)