Projet

Général

Profil

Development #54383

Caluire Axel: endpoint set_activity_agenda_typical_week

Ajouté par Lauréline Guérin il y a presque 3 ans. Mis à jour il y a presque 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
28 mai 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Lors de l'inscription à une activité, besoin de passer une "semaine type"

(à définir)


Fichiers

Révisions associées

Révision 74dff67f (diff)
Ajouté par Lauréline Guérin il y a presque 3 ans

caluire-axel: set_activity_agenda_typical_week endpoint (#54383)

Historique

#3

Mis à jour par Lauréline Guérin il y a presque 3 ans

#4

Mis à jour par Nicolas Roche il y a presque 3 ans

Sur ce test j'aurais mis les asserts dans la boucle.

def test_set_activity_agenda_typical_week_endpoint_extrascolaire

Donc on écrabouille tout,

'MATIN': 'X'

pas de get_bookings pour voir les temps d'accueils passés, pour lesquels les services ont fait des pointages et sur lesquels les parents ne peuvent plus rien faire.
Même pas peur d'écraser les F / S / T = gris = jours sur lesquels aucune action n'est permise ?

Si je comprend bien, ce endpoint sera utilisé par les parents en tout début d'ouverture d'une activité, avant que les agents ne repassent sur les agendas pour poser des F / S / T ?
Et donc la démarche wcs qui autorise ça devra être adaptée/contrôlée/ouverte puis fermée soit en début d'année, soit à chaque fois qu'on ouvre une nouvelle activité ?

Perso j'essayerai de n'autoriser la réservation pour un jour que si get_bookings me renvoie 'MATIN' à '.' pour ce jour,
histoire d'avoir quand même un garde fou.

Ok même pas peur, mais ça devient compliqué à suivre, alors je déroule pour être sûr d'avoir bien compris.

  • Au début je ne suis pas inscrit à VERNEMAT.
       $ curl 'https://passerelle.dev.publik.love/caluire-axel/test/child_activities_info?NameID=local&idpersonne=50632&schooling_date=2021-07-11' | json_pp | grep IDENTACTIVITE
       ya pas VERNEMAT
    
  • Et donc je n'ai pas de créneau sur cette activité.
       $ curl 'https://passerelle.dev.publik.love/caluire-axel/test/get_agenda?NameID=local&idpersonne=50632&activity_id=VERNEMAT&start_date=2021-06-21&end_date=2021-06-22' | json_pp
       "err_desc" : "Activity not found" 
    
  • Je décide de m'y inscrire.
       $ curl 'https://passerelle.dev.publik.love/caluire-axel/test/register_activity?NameID=local' -d '{"child_id": "50632", "activity_id": "VERNEMAT", "registration_start_date": "2021-06-21", "registration_end_date": "2021-06-22"}' | json_pp
       "created" : true,
    
  • A présent j'y suis inscrit.
       $ curl 'https://passerelle.dev.publik.love/caluire-axel/test/child_activities_info?NameID=local&idpersonne=50632&schooling_date=2021-07-11' | json_pp | grep IDENTACTIVITE
       à présent il y a VERNEMAT
    
  • Et j'ai des créneaux réservables.
       $ curl 'https://passerelle.dev.publik.love/caluire-axel/test/get_agenda?NameID=local&idpersonne=50632&activity_id=VERNEMAT&start_date=2021-06-21&end_date=2021-06-22' | json_pp
       il y a des créneaux avec "MATIN" : ".",
    
  • Je décide de réserver tous les lundis
       $ curl 'https://passerelle.dev.publik.love/caluire-axel/test/set_activity_agenda_typical_week?NameID=local' -d '{"child_id": "50632", "activity_id": "VERNEMAT", "booking_list": ["monday"], "start_date": "2021-06-21", "end_date": "2021-06-22"}'
       ça pose un X sur le 21
    
  • Et en fait je décide de réserver tous les mardis
       $ curl 'https://passerelle.dev.publik.love/caluire-axel/test/set_activity_agenda_typical_week?NameID=local' -d '{"child_id": "50632", "activity_id": "VERNEMAT", "booking_list": ["tuesday"], "start_date": "2021-06-21", "end_date": "2021-06-22"}'
       ça pose un X sur le 22
    

Mais là je me retrouve avec lundi et mardi de réservé.
Il ne faudrait pas faire comme dans set_agenda où l'on repasse 'MATIN' à D (sauf qu'ici se serait '.') ?.

#5

Mis à jour par Lauréline Guérin il y a presque 3 ans

Yep tu as raison, merci. Je reprends tout ça :)

#7

Mis à jour par Nicolas Roche il y a presque 3 ans

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

Ok, si le parent réserve les lundis puis change d'avis et swith pour les mardis,
alors les lundis passent de '.' à 'X' puis à 'D'.
On aurais peut-être préféré qu'il revienne à '.', mais non c'est vraiment appréciable d'avoir le code factorisé ici, et donc d'avoir le même comportement que sur les réservations.

A prendre ou à laisser :

  • test_set_activity_agenda_typical_week_endpoint_prefill_extrascolaire
    J'aurais mis les asserts dans la boucle.
    J'aurais pas mis preffil dans le nom du test.
  • test_set_activity_agenda_typical_week_endpoint_disabled
    Je n'aurais pas paramétré disabled à None dans le test parce que c'est fait nulle part dans le code.
#8

Mis à jour par Lauréline Guérin il y a presque 3 ans

On aurais peut-être préféré qu'il revienne à '.', mais non c'est vraiment appréciable d'avoir le code factorisé ici, et donc d'avoir le même comportement que sur les réservations.

C'est surtout que techniquement, il y a eu réservation, puis annulation. Donc autant le noter.

J'aurais mis les asserts dans la boucle.

C'est juste

J'aurais pas mis preffil dans le nom du test.

ok corrigé (copier/coller)

Je n'aurais pas paramétré disabled à None dans le test parce que c'est fait nulle part dans le code.

Si c'est None, alors le jour n'est pas renvoyé par get_agenda: on teste le cas où il y a un trou dans l'agenda (ça peut arriver)

#9

Mis à jour par Lauréline Guérin il y a presque 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 74dff67f2f8de362c2b735d3c0a4c054933718be
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Fri Jun 18 09:43:54 2021 +0200

    caluire-axel: set_activity_agenda_typical_week endpoint (#54383)
#10

Mis à jour par Frédéric Péters il y a presque 3 ans

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

Formats disponibles : Atom PDF