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 2 months ago
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 added 4 commits 3 months ago
nroche force-pushed wip/75425-parsifal-update-week-calendar from ebc201f08d to aefaad985d 3 months ago
nroche force-pushed wip/75425-parsifal-update-week-calendar from aefaad985d to 8698b0d123 2 months ago
nroche force-pushed wip/75425-parsifal-update-week-calendar from 8698b0d123 to 7110876f33 2 months ago
nroche force-pushed wip/75425-parsifal-update-week-calendar from 7110876f33 to 5693aa62f0 2 months ago
nroche force-pushed wip/75425-parsifal-update-week-calendar from 5693aa62f0 to 7ce4f18860 2 months ago
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) 2 months ago
Poster
Owner
J'ai posé ma démarche de test ici : https://demarches-parsifal.test.entrouvert.org/backoffice/forms/230/
lguerin reviewed 2 months ago
@ -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"
Poster
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 ?)
Poster
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 ?
Poster
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 ?
Poster
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 ?
Poster
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 ?
Poster
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 2 months ago
lguerin approved these changes 2 months ago
nroche force-pushed wip/75425-parsifal-update-week-calendar from 3a6f0d7056 to c9dd0f86f9 2 months ago
nroche merged commit c9dd0f86f9 into main 2 months ago

Reviewers

lguerin approved these changes 2 months ago
gitea/passerelle/pipeline/head This commit looks good
The pull request has been merged as c9dd0f86f9.
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
Loading…
There is no content yet.