toulouse-foederis: add candidature endpoint (#77524) #246

Merged
csechet merged 1 commits from wip/77524-endpoint-candidature into main 2023-05-19 11:40:10 +02:00
Owner
No description provided.
csechet force-pushed wip/77524-endpoint-candidature from a6abbf75cd to 252d021d94 2023-05-12 11:43:33 +02:00 Compare
nroche reviewed 2023-05-12 13:00:58 +02:00
@ -32,0 +39,4 @@
'type': {
'description': _('Application Type (External or Internal).'),
'type': 'string',
'enum': ['E', 'I'],
Owner

Peut-être laisser la porte ouverte ici, pour être plus souple si les valeurs possibles venaient à changer.

Peut-être laisser la porte ouverte ici, pour être plus souple si les valeurs possibles venaient à changer.
csechet marked this conversation as resolved
nroche reviewed 2023-05-12 13:04:47 +02:00
@ -32,0 +80,4 @@
},
'rqth': {
'description': _('RQTH.'),
'type': 'boolean',
Owner

'type': 'boolean'
Je pense qu'il ne faut pas présumer que w.c.s. enverra toujours False/True.
Voir ce qui est fait du côté d'Axel : accepter aussi les chaînes Vrai/Faux, O/1, ...

'type': 'boolean' Je pense qu'il ne faut pas présumer que w.c.s. enverra toujours False/True. Voir ce qui est fait du côté d'Axel : accepter aussi les chaînes Vrai/Faux, O/1, ...
csechet marked this conversation as resolved
nroche reviewed 2023-05-12 13:09:20 +02:00
@ -32,0 +67,4 @@
'birth_date': {
'description': _('Applicant birth date.'),
'type': 'string',
'format': 'date',
Owner

C'est nouveau dans passerelle, on parle bien de ça ?
https://json-schema.org/understanding-json-schema/reference/string.html#built-in-formats
J'ai l'impression (je me trompe peut-être) que la pratique courante est de formater les date en anglais depuis w.c.s : {{ form_var_date|date:'Y-m-d' }}
Auquel cas peut-être ne pas prendre de risque et faire comme dans les autres connecteurs :

'type': 'string',
'pattern': '^[0-9]{4}-[0-9]{2}-[0-9]{2}$',
C'est nouveau dans passerelle, on parle bien de ça ? https://json-schema.org/understanding-json-schema/reference/string.html#built-in-formats J'ai l'impression (je me trompe peut-être) que la pratique courante est de formater les date en anglais depuis w.c.s : {{ form_var_date|date:'Y-m-d' }} Auquel cas peut-être ne pas prendre de risque et faire comme dans les autres connecteurs : ``` 'type': 'string', 'pattern': '^[0-9]{4}-[0-9]{2}-[0-9]{2}$', ```
csechet marked this conversation as resolved
nroche reviewed 2023-05-12 13:09:51 +02:00
@ -32,0 +76,4 @@
},
'work_authorization_end_date': {
'description': _("Applicant end of working authorization, if nationality is 'other'."),
'example_value': '2023-04-05',
Owner

Tu n'as pas précisé de type ici.

Tu n'as pas précisé de type ici.
csechet marked this conversation as resolved
nroche reviewed 2023-05-12 13:11:26 +02:00
@ -298,0 +523,4 @@
'date_de_naissance': post_data['birth_date'],
self.REFERENTIELS_FKEYS['nationalite']: int(post_data['nationality']),
'date_fin_autorisation_de_travail': _format_date('work_authorization_end_date'),
'rqth': 'O' if post_data['rqth'] == 'true' else 'N',
Owner

Ne fonctionne pas, faire comme c'est fait ailleurs :
'rqth': 'O' if post_data['rqth'] else 'N'

Ne fonctionne pas, faire comme c'est fait ailleurs : `'rqth': 'O' if post_data['rqth'] else 'N'`
csechet marked this conversation as resolved
nroche reviewed 2023-05-12 13:12:28 +02:00
@ -298,0 +559,4 @@
'dernier_diplome_obtenu': post_data['last_obtained_diploma'],
'derniere_classe_suivie': post_data['last_course_taken'],
}
request_data = {k: v for k, v in request_data.items() if v}
Owner

Quels sont les champs qui nécessite de ne pas être passés lorsqu'il sont vides ?
C'est spécifié quelque part dans le excel ?
Si c'est vraiment utile, alors peut-être ajouter un test qui donne le cas d'usage.

Quels sont les champs qui nécessite de ne pas être passés lorsqu'il sont vides ? C'est spécifié quelque part dans le excel ? Si c'est vraiment utile, alors peut-être ajouter un test qui donne le cas d'usage.
Author
Owner

Le Excel dit n'importe quoi, tous les champs sont optionnels dans les faits. Ici on supprime juste les valeurs absente du post. Il n'y a pas de cas d'usage, ils seront tous transmis, c'est juste pour éviter de sauvegarder n'importe quoi dans Foederis s'il y a un oubli à un moment donné (rappel que ce connecteur n'a rien de générique : on a un paramétrage ad-hoc en face). J'ai supprimé des champs dans les tests pour vérifier qu'ils sont bien exclus lors de l'appel Foederis.

Edit: En fait il y a des cas où des champs sont laissés vides (des champs spécifiques à une candidature de stage par ex.).

Le Excel dit n'importe quoi, tous les champs sont optionnels dans les faits. Ici on supprime juste les valeurs absente du post. Il n'y a pas de cas d'usage, ils seront tous transmis, c'est juste pour éviter de sauvegarder n'importe quoi dans Foederis s'il y a un oubli à un moment donné (rappel que ce connecteur n'a rien de générique : on a un paramétrage ad-hoc en face). J'ai supprimé des champs dans les tests pour vérifier qu'ils sont bien exclus lors de l'appel Foederis. Edit: En fait il y a des cas où des champs sont laissés vides (des champs spécifiques à une candidature de stage par ex.).
Owner

Désolé, je n'arrive pas à me projeter.
Est-ce que tu peux poser ton WF de test sur la recette, stp ?
(j'ai pas trouvé : https://demarches-montoulouse.test.entrouvert.org/backoffice/workflows/247/status/1/items/1/)

Désolé, je n'arrive pas à me projeter. Est-ce que tu peux poser ton WF de test sur la recette, stp ? (j'ai pas trouvé : https://demarches-montoulouse.test.entrouvert.org/backoffice/workflows/247/status/1/items/1/)
nroche reviewed 2023-05-12 13:14:01 +02:00
@ -405,6 +405,164 @@ class TestEndpoints:
app.get('/toulouse-foederis/foederis/announce/111/pdf/', status=404)
assert response.headers['content-type'] == 'application/pdf'
CREATE_APPLICATION_PARAMS = {
Owner

Cette variable n'est pas utilisée (étrange que pylint ne l'ai pas vu).

Cette variable n'est pas utilisée (étrange que pylint ne l'ai pas vu).
Author
Owner

Bien vu. C'est une variable globale, pylint ne peut pas deviner qu'elle n'est pas utilisée dans un autre module.

Bien vu. C'est une variable globale, pylint ne peut pas deviner qu'elle n'est pas utilisée dans un autre module.
nroche requested changes 2023-05-12 13:19:43 +02:00
nroche left a comment
Owner

J'ai posé quelques-remarques.

J'ai posé quelques-remarques.
csechet force-pushed wip/77524-endpoint-candidature from 252d021d94 to 605909e2d3 2023-05-12 17:02:25 +02:00 Compare
csechet force-pushed wip/77524-endpoint-candidature from 605909e2d3 to 6624df89be 2023-05-15 10:32:42 +02:00 Compare
csechet force-pushed wip/77524-endpoint-candidature from 6624df89be to 05d5ee282f 2023-05-15 14:32:17 +02:00 Compare
smihai reviewed 2023-05-19 10:23:28 +02:00
@ -33,0 +56,4 @@
APPLICATION_SCHEMA = {
'$schema': 'http://json-schema.org/draft-04/schema#',
'title': 'AstreGS assocation',
Owner

Une petite typo ici: association

Une petite typo ici: association
Author
Owner

Bien vu et surtout c'est pas du tout AstreGS, c'est resté d'un copier / coller : j'ai corrigé.

Bien vu et surtout c'est pas du tout AstreGS, c'est resté d'un copier / coller : j'ai corrigé.
csechet force-pushed wip/77524-endpoint-candidature from 05d5ee282f to 1ed9616b19 2023-05-19 10:27:47 +02:00 Compare
smihai approved these changes 2023-05-19 10:35:01 +02:00
csechet force-pushed wip/77524-endpoint-candidature from 1ed9616b19 to cba273b244 2023-05-19 11:28:26 +02:00 Compare
csechet merged commit 7395fa5560 into main 2023-05-19 11:40:10 +02:00
csechet deleted branch wip/77524-endpoint-candidature 2023-05-19 11:40:10 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
3 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#246
No description provided.