Candidature : ajout de la commune de naissance et du pays de naissance au formulaire d'acceptation#4420
Conversation
996b0c2 to
a60d08c
Compare
a60d08c to
13989e1
Compare
dd524e0 to
2742232
Compare
a952c64 to
95cf778
Compare
| form_user_address = JobSeekerAddressForm(instance=job_seeker, data=request.POST or None) | ||
| forms.append(form_user_address) | ||
|
|
||
| diagnosis = EligibilityDiagnosis.objects.last_considered_valid(job_seeker=job_seeker, for_siae=siae) |
There was a problem hiding this comment.
Je l'ai enlevé pour éviter une double requête mais on court le risque d'associer un diag IAE à une candidature GEIQ. Ajouter un garde-fou ?
There was a problem hiding this comment.
On est dans le bloc if siae.is_subject_to_eligibility_rules: donc a priori ça ne peut pas être une candidature GEIQ ?
|
🥁 La recette jetable est prête ! 👉 Je veux tester cette PR ! |
| form_user_address = JobSeekerAddressForm(instance=job_seeker, data=request.POST or None) | ||
| forms.append(form_user_address) | ||
|
|
||
| diagnosis = EligibilityDiagnosis.objects.last_considered_valid(job_seeker=job_seeker, for_siae=siae) |
There was a problem hiding this comment.
On est dans le bloc if siae.is_subject_to_eligibility_rules: donc a priori ça ne peut pas être une candidature GEIQ ?
| ) | ||
| except asp_models.Commune.DoesNotExist as ex: | ||
| raise forms.ValidationError( | ||
| f"Le code INSEE {birth_place.code} n'est pas référencé par l'ASP en date du {birth_date:%d/%m/%Y}" |
There was a problem hiding this comment.
Comme birthdate et birth_place ne sont pas dans le même formulaire, cela peut être perturbant pour l'utilisateur de voir une autre date de naissance que celle qu'il a saisi: il faudrait idéalement que les deux champs soient vérifiés ensemble.
There was a problem hiding this comment.
Je ne suis pas sure de comprendre. Effectivement, la date de naissance est saisie ailleurs mais c'est bien celle-ci qui est affichée. 🤔 J'ai relu le code des fiches salarié et je comprends mieux.
There was a problem hiding this comment.
Proposition : b407cf7
Je ne sais pas si la date de naissance du candidat est obligatoirement connue à ce moment-là du parcours pour toutes les entreprises, même les non-SIAE. Je demande.
La date de naissance est obligatoire en amont.
There was a problem hiding this comment.
Une autre possibilité serait d'ajouter un formulaire uniquement pour la date de naissance et de supprimer le champ de JobSeekerPersonalDataForm mais c'est plus lourd et cela ferait éventuellement deux save. :/
francoisfreitag
left a comment
There was a problem hiding this comment.
Ça m’a l’air de bien fonctionner 👍
| @property | ||
| def criteria_certification_required(self): | ||
| return self.administrative_criteria.certifiable().exists() |
There was a problem hiding this comment.
nit: Comme ce n’est utilisé qu’à un seul endroit, je ne créerais pas de méthode. Aussi, comme ça fait une requête, je trouve que property est un peu trompeur. Une requête n’est pas gratuit.
There was a problem hiding this comment.
C'est vrai, ce n'est jamais gratuit.
La vue _accept étant déjà très longue, j'ai préféré isoler la requête. En fait, je me suis dit que la condition pouvait évoluer dans un futur proche : afficher le formulaire si les critères n'ont pas été certifiés depuis XX mois par exemple, ou utilisés ailleurs dans l'app.
Je prends la remarque sur la propriété.
|
|
||
| The table is automatically populated with a fixture at the end of | ||
| eligibility's migration #0007. | ||
| The table is automatically populated on app load. |
There was a problem hiding this comment.
nit: On peuple actuellement au migrate. Comme la méthode ci dessous est connectée au signal post_migrate, c’est facile de savoir quand on l’appelle. J’aurais plutôt tendance à laisser le commentaire vague et laisser le développeur suivre le fil.
| The table is automatically populated on app load. | |
| The table is automatically populated. |
There was a problem hiding this comment.
J'avoue que j'ai eu du mal à retrouver où et comment était chargée la table. Je ne serai peut-être pas la seule.
b407cf7 to
55db2af
Compare
|
🥁 La recette jetable est prête ! 👉 Je veux tester cette PR ! |
7001135 to
1510a1a
Compare
|
Retours traités. 💪 |
|
Je commence un travail de squash massif. :) |
francoisfreitag
left a comment
There was a problem hiding this comment.
Je pourrai rejeter un petit œil après LE GRAND SQUASH, mais ça m’a l’air nickel 💯
b48412b to
148f7b7
Compare
|
LE GRAND SQUASH© fini ! J'en ai profité pour ajouter le test suivant : b88d346#diff-07cb9d1ec9cf7ca71cd5f84924b252cda4d5781c3b97a998785fa5f370d7d32fR2450-R2455 En effet, j'ai réalisé en effectuant un test manuel que le pays n'était pas enregistré mais que la ville, oui. C'est réglé ! |
|
Désactiver le champ en JS aurait clairement dû être traité dans une PR séparée. Ça m'apprendra ! 😆 |
|
Je veux bien un dernier regard mais ça peut être demain si tu es HS ce soir. Pas de pression. :) |
We have been granted access to the API Particulier that can certify some administrative criteria. For the moment, only 3 are in the scope: Allocation Adulte Handicapé, RSA and Allocation Parent Isolé. This certification should replace the need for "written proof" and hence make the "siae evaluation" unnecessary in the (hopefully) near future.
Show the form on job application's acceptance view only if the company is subjects to eligibility rules and if a certification is required.
One of the tests failed once (and only once) in the CI but not locally. If it fails again, we will be able to dig into it.
148f7b7 to
cd196f4
Compare
🤔 Pourquoi ?
L'API Particuliers permet de vérifier certains critères administratifs déclarés sur les emplois. Étant donné qu'ils étaient déclaratifs seulement, les employeurs devaient conserver les justificatifs en cas de contrôle (le fameux contrôle a posteriori).
Nous avons accès à trois endpoints : RSA, Adulte Handicapé et Parent Isolé.
Afin que l'API identifie un bénéficiaire, il faut lui envoyer certaines informations dont le pays de naissance (et la commune si le pays de naissance est la France).
🍰 Comment ?
Ajout des champs « Pays de naissance » et « Commune de naissance » au formulaire d'acceptation de candidature si un critère vérifiable est présent dans le dernier diagnostic valide et si l'entreprise qui embauche est éligible aux aides de l'IAE.
Modification du modèle AdministrativeCriteria : ajout d'une colonne « certifiable » pour désigner les critères vérifiables par l'API.
À noter que la modification concerne les diags de l'IAE ainsi que ceux pour les GEIQ.
🚨 À vérifier
🏝️ Comment tester
Se connecter en tant qu'employeur. Réaliser une auto-prescription et cocher le critère BRSA, Adulte handicapé ou parent isolé pendant l'étape du diagnostic. Puis acceptez la candidature. Deux nouveaux champs devraient s'afficher : Pays et commune de naissance. Si le pays est la France, la commune est obligatoire.
Réaliser la même manipulation avec un GEIQ (le formulaire devrait s'afficher) et une entreprise non éligible à l'IAE (le formulaire ne devrait pas apparaître).
💻 Captures d'écran