Projet

Général

Profil

Development #41453

toulouse-axel: modifier clae_booking_activity_possible_days et clae_booking_activity_prefill sur une période arbitraire

Ajouté par Thomas Noël il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
08 avril 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Actuellement on envoie à ces deux endpoint une "booking_date" et ça renvoie les infos de la semaine concernée. Il faut changer cela : on va envoyer une date de début et une date de fin de période, booking_start_date et booking_end_date.

En retour, pour l'enfant et le type d'activité choisi, renvoyer :

  • clae_booking_activity_possible_days : la liste des jours possibles, sous forme id+text, avec dans l'id toutes les informations nécessaires :
    [
      {
        "id": <idpersonne>-<idactivite>-<yyyy-mm-dd>,
        "text": "mercredi 8 avril 2019",
        "disabled": True / False,
        "prefill": True / False,
        "details": {...}
      },
      ...
    
  • clae_booking_activity_prefill : ['idpersonne-idactivite-date1', 'idpersonne-idactivite-date2', ...] c'est-à-dire les id de la liste ci-dessus, pour chaque jour réservé actuellement

Note 1 : vérifier qu'avoir une liste de « idpersonne-idactivite-date1 » suffira pour construire le POST ReservationPeriode, sinon modifier l'id pour y ajouter "ce qu'il faut".

Note 2 : les deux appels vont avoir lieu lors de l'affichage de la page, comme ça fait en définitive appel au même WS dans Axel il faudrait sans doute prévoir de faire du cache pour ne pas se retrouver à interroger deux fois Axel.

Note 3 : pour simplifier l'usage :
  • la date de début devra être repoussée à j+8 si besoin
  • la date de fin sera repoussée au vendredi de la semaine concernée (exemple si c'est le mercredi 8 avril en renverra la liste jusqu'au vendredi 10 inclus)

Fichiers

Révisions associées

Révision 555aa3c4 (diff)
Ajouté par Lauréline Guérin il y a environ 4 ans

toulouse_axel: possible days and prefill for a period (#41453)

Historique

#1

Mis à jour par Lauréline Guérin il y a environ 4 ans

la date de début devra être repoussée à j+8 si besoin

Et commencer un lundi du coup ?

vérifier qu'avoir une liste de « idpersonne-idactivite-date1 » suffira pour construire le POST ReservationPeriode, sinon modifier l'id pour y ajouter "ce qu'il faut".

Je laisse activity_type dans l'id, au cas où j'en ai besoin dans le POST (je ne pense pas mais ça mange pas de pain)

#2

Mis à jour par Thomas Noël il y a environ 4 ans

Lauréline Guerin a écrit :

la date de début devra être repoussée à j+8 si besoin

Et commencer un lundi du coup ?

Nope, comme on avait dit l'autre jour, c'est vraiment j+8, il peut y avoir de la semaine partielle... En revanche il faut bien aller jusqu'au vendredi de la dernière semaine : si on s'arrêtait au jeudi par exemple, on ne saurait pas quelle information envoyer pour le vendredi.

vérifier qu'avoir une liste de « idpersonne-idactivite-date1 » suffira pour construire le POST ReservationPeriode, sinon modifier l'id pour y ajouter "ce qu'il faut".

Je laisse activity_type dans l'id, au cas où j'en ai besoin dans le POST (je ne pense pas mais ça mange pas de pain)

Ca roule.

#3

Mis à jour par Lauréline Guérin il y a environ 4 ans

Ha non pardon je me suis mal exprimée :)
Si la date de début demandée tombe un week-end (après avoir appliqué la règle + 8 jours), alors on saute au lundi qui suit ?

#4

Mis à jour par Lauréline Guérin il y a environ 4 ans

et si la date de fin tombe un week-end, je saute en vendredi précédent ?
(dis oui stp, j'ai déjà codé cette règle :) )

#5

Mis à jour par Thomas Noël il y a environ 4 ans

Lauréline Guerin a écrit :

Ha non pardon je me suis mal exprimée :)
Si la date de début demandée tombe un week-end (après avoir appliqué la règle + 8 jours), alors on saute au lundi qui suit ?

Oui, si on est vendredi 10, le j+8 c'est le lundi 20, effectivement.

et si la date de fin tombe un week-end, je saute en vendredi précédent ?
(dis oui stp, j'ai déjà codé cette règle :) )

"oui stp".

#7

Mis à jour par Lauréline Guérin il y a environ 4 ans

  • Assigné à mis à Lauréline Guérin
#9

Mis à jour par Thomas Noël il y a environ 4 ans

cache.set(cache_key, child_activities, 3600)  # 1 hour

Une heure c'est trop : lorsque le parent aura modifié ses reservations et reviendra sur le portail il faut qu'on affiche les nouvelles valeurs. Donc mettre plutôt 30 secondes, juste le temps que les différents appels soient faits sur la page du formulaire qui présente les résas.

Tout petit détail auquel je n'avais pas pensé, le format des ID va donner 3535-MAT-A19P1M1-2020-01-20 ce qui ne va pas rendre le découpage simple, on pourrait penser à 3535:MAT:A19P1M1:2020-01-20

En dehors de ça, rien à dire. Je acke donc mais n'oublie pas de changer au moins le délai de cache à 30 secondes.

#10

Mis à jour par Thomas Noël il y a environ 4 ans

  • Statut changé de Solution proposée à Solution validée
#11

Mis à jour par Lauréline Guérin il y a environ 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 555aa3c49d2404bdf91fde84ee71d0d9b021f4fa
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Apr 9 11:48:39 2020 +0200

    toulouse_axel: possible days and prefill for a period (#41453)
#12

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF