toulouse-maelis: modifier la semaine type d'une activité (#75425) #140

Merged
nroche merged 2 commits from wip/75425-parsifal-update-week-calendar into main 2023-03-30 11:39:00 +02:00
Owner

Avoir une démarche qui modifie la semaine type d'une activité.

Avoir une démarche qui modifie la semaine type d'une activité.
nroche force-pushed wip/75425-parsifal-update-week-calendar from ebc201f08d to aefaad985d 2023-03-15 17:41:00 +01:00 Compare
nroche force-pushed wip/75425-parsifal-update-week-calendar from aefaad985d to 8698b0d123 2023-03-25 15:51:20 +01:00 Compare
nroche force-pushed wip/75425-parsifal-update-week-calendar from 8698b0d123 to 7110876f33 2023-03-25 20:13:05 +01:00 Compare
nroche force-pushed wip/75425-parsifal-update-week-calendar from 7110876f33 to 5693aa62f0 2023-03-30 07:07:47 +02:00 Compare
nroche force-pushed wip/75425-parsifal-update-week-calendar from 5693aa62f0 to 7ce4f18860 2023-03-30 07:23:37 +02:00 Compare
nroche changed title from WIP: toulouse-maelis: modifier la semaine type d'une activité (#75425) to toulouse-maelis: modifier la semaine type d'une activité (#75425) 2023-03-30 07:25:10 +02:00
Author
Owner
J'ai posé ma démarche de test ici : https://demarches-parsifal.test.entrouvert.org/backoffice/forms/230/
lguerin reviewed 2023-03-30 09:05:27 +02:00
@ -2165,0 +2170,4 @@
parameters={
'NameID': {'description': 'Publik NameID'},
'family_id': {'description': 'Numéro de DUI'},
'person_id': {'description': "Numéro du responsale légal ou de l'enfant"},
Owner

typo "responsale"

typo "responsale"
Author
Owner

Erreur que je reporte de copié/collé en copié/collé... (honte).
J'ajoute un commit pour la traiter partout.

Erreur que je reporte de copié/collé en copié/collé... (honte). J'ajoute un commit pour la traiter partout.
lguerin marked this conversation as resolved
@ -2165,0 +2179,4 @@
},
)
def get_recurrent_week(self, request, person_id, activity_id, ref_date, NameID=None, family_id=None):
family_id = family_id or self.get_link(NameID).family_id
Owner

Pas besoin de vérifier que family_id n'est pas vide ? qu'on a bien passé l'un ou l'autre des params ?
Plutôt que de péter une erreur sur get_rl_or_child_raw sur un dossierNumber inconnu, lever une erreur plus explicite en amount ?
(Je n'ai pas vérifié le reste du code mais j'imagine qu'on a le cas pour la plupart des endpoints ?)

Pas besoin de vérifier que family_id n'est pas vide ? qu'on a bien passé l'un ou l'autre des params ? Plutôt que de péter une erreur sur `get_rl_or_child_raw` sur un dossierNumber inconnu, lever une erreur plus explicite en amount ? (Je n'ai pas vérifié le reste du code mais j'imagine qu'on a le cas pour la plupart des endpoints ?)
Author
Owner

Si, mais cette syntaxe le permet : si family_id est vide alors on se rattrape sur le NameID et si ces dernier est également vide alors get_link lève une APIError qui dit qu'on n'est pas lié à une famille (et qui pourrait être plus explicite).
C'est traité par test_get_recurrent_week_not_linked_error et test_update_recurrent_week_not_linked_error.

Si, mais cette syntaxe le permet : si family_id est vide alors on se rattrape sur le NameID et si ces dernier est également vide alors get_link lève une APIError qui dit qu'on n'est pas lié à une famille (et qui pourrait être plus explicite). C'est traité par test_get_recurrent_week_not_linked_error et test_update_recurrent_week_not_linked_error.
Owner

ok

ok
lguerin marked this conversation as resolved
@ -2165,0 +2222,4 @@
'text': '%s %s' % (day_str, value),
}
)
if not recurrent_week:
Owner

Il y a toujours une valeur par défaut dans maelis, même avant le premier set d'une semaine type ?

Il y a toujours une valeur par défaut dans maelis, même avant le premier set d'une semaine type ?
Author
Owner

Non.
Via le WS readFamily je vois des activité avec :

'planningHebdomadaire': None,

(Sigec nous a dissuadé a d'utiliser de ce champ qui ne semblait alors pas utilisable pour faire du pré-remplissage avec plusieurs unités)
Ici on ne récupère pas les valeurs actuelles, mais juste le gabarit de la semaine type.
Ce gabarit semble toujours exister dans l'agenda d'une activité sur laquelle on peut définir des réservations (mais la documentation ne le précise pas).

Non. Via le WS readFamily je vois des activité avec : ``` 'planningHebdomadaire': None, ``` (Sigec nous a dissuadé a d'utiliser de ce champ qui ne semblait alors pas utilisable pour faire du pré-remplissage avec plusieurs unités) Ici on ne récupère pas les valeurs actuelles, mais juste le gabarit de la semaine type. Ce gabarit semble toujours exister dans l'agenda d'une activité sur laquelle on peut définir des réservations (mais la documentation ne le précise pas).
Owner

ok

ok
lguerin marked this conversation as resolved
@ -2165,0 +2229,4 @@
)
return {
'data': recurrent_week,
'meta': {'date_min_prev': date_min_prev.strftime(utils.json_date_format)},
Owner

à quoi sert cette info ?

à quoi sert cette info ?
Author
Owner

L'usager ne pourra pas modifier la semaine type avant un délais minimum de prévenance, qui est implémenté par cette date.
Maelis va faire avec les dates envoyées : repousser la date de début après cette date de prévenance et si besoin ramener la date de fin à celle de la fin de la période de l'activité. Je n'ai pas besoin d'ajouter de code métier ici.

Stéphane est partit pour inscrire en dur le délais de prévenance dans la démarche. Je lui remonte quand même l'information du logiciel métier au cas où il devrait faire mieux par la suite.

L'usager ne pourra pas modifier la semaine type avant un délais minimum de prévenance, qui est implémenté par cette date. Maelis va faire avec les dates envoyées : repousser la date de début après cette date de prévenance et si besoin ramener la date de fin à celle de la fin de la période de l'activité. Je n'ai pas besoin d'ajouter de code métier ici. Stéphane est partit pour inscrire en dur le délais de prévenance dans la démarche. Je lui remonte quand même l'information du logiciel métier au cas où il devrait faire mieux par la suite.
Owner

ok

ok
lguerin marked this conversation as resolved
@ -0,0 +59,4 @@
<calendarLetter>B</calendarLetter>
</unit>
<datePrevMin>2023-03-27T00:00:00+02:00</datePrevMin>
<dayInfoList>
Owner

détail: tu as besoin d'ajouter toutes ces infos pour tester la semaine type ?

détail: tu as besoin d'ajouter toutes ces infos pour tester la semaine type ?
Author
Owner

Oui.
'B' c'est la lettre qui permet de sélectionner l'unité.
'datePrevMin' c'est le délais de prévenance.
Ce qui vient en dessous c'est l'agenda.
Je n'en ai pas besoin pour tester la semaine type, c'est juste que j'ai recopié la trame renvoyée par Maélis à l'identique.

Oui. 'B' c'est la lettre qui permet de sélectionner l'unité. 'datePrevMin' c'est le délais de prévenance. Ce qui vient en dessous c'est l'agenda. Je n'en ai pas besoin pour tester la semaine type, c'est juste que j'ai recopié la trame renvoyée par Maélis à l'identique.
Owner

ok

ok
lguerin marked this conversation as resolved
@ -5162,0 +5301,4 @@
'recurrent_week': ['1-X', '2-B'],
}
resp = app.post_json(url + '?family_id=311323', params=params)
assert resp.json['err'] == 0
Owner

détail: tester le contenu de data comme dans le test en dessous, et passer une ligne avant la création du Link, parce que ça concerne le test suivant ?

détail: tester le contenu de data comme dans le test en dessous, et passer une ligne avant la création du Link, parce que ça concerne le test suivant ?
Author
Owner

Oui, je fais ça.

Oui, je fais ça.
lguerin marked this conversation as resolved
nroche force-pushed wip/75425-parsifal-update-week-calendar from 7ce4f18860 to 3a6f0d7056 2023-03-30 11:04:49 +02:00 Compare
lguerin approved these changes 2023-03-30 11:06:56 +02:00
nroche force-pushed wip/75425-parsifal-update-week-calendar from 3a6f0d7056 to c9dd0f86f9 2023-03-30 11:26:23 +02:00 Compare
nroche merged commit c9dd0f86f9 into main 2023-03-30 11:39:00 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/passerelle#140
No description provided.