Skip to content

Candidats: Ajout des champs commune et pays de naissance dans « Mon profil »#5126

Merged
francoisfreitag merged 2 commits into
masterfrom
ff/edit-info-fields
Dec 12, 2024
Merged

Candidats: Ajout des champs commune et pays de naissance dans « Mon profil »#5126
francoisfreitag merged 2 commits into
masterfrom
ff/edit-info-fields

Conversation

@francoisfreitag
Copy link
Copy Markdown
Member

@francoisfreitag francoisfreitag commented Nov 19, 2024

🤔 Pourquoi ?

Collecter ces informations pour certifier la situation administrative des candidats (Bénéficiaire RSA, …).

🏝️ Comment tester

En tant que candidat

  1. Se connecter en tant que candidat
  2. Aller dans « Mon profil » en utilisant le menu déroulant
  3. Constater la présence des champs
  4. Vérifier la logique de validation

En tant que prescripteur/orienteur ou employeur

  1. Se connecter
  2. Dans une candidature ou l’interface mes candidats, cliquer sur « modifier » dans l’encart des informations personnelles d’un candidat
  3. Constater la présence des champs
  4. Vérifier la logique de validation

💻 Captures d'écran

image

@francoisfreitag francoisfreitag added the modifié Modifié dans le changelog. label Nov 19, 2024
@francoisfreitag francoisfreitag self-assigned this Nov 19, 2024
@francoisfreitag francoisfreitag changed the title Candidats: Ajouter les champs commune et pays de naissance dans « Mon profil » Candidats: Ajout des champs commune et pays de naissance dans « Mon profil » Nov 19, 2024
@francoisfreitag francoisfreitag added the 1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC label Nov 19, 2024
@notion-workspace
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

🥁 La recette jetable est prête ! 👉 Je veux tester cette PR !

Copy link
Copy Markdown
Contributor

@leo-naeka leo-naeka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rien à redire sur les changements en tant que tels, mais la validation ne me convainc pas vraiment :

Le champ birth_country n'est pas indiqué requis à l'utilisateur (astérisque) :
Capture d’écran 2024-11-20 à 09 49 48

Il n'est pas dans la liste des requis car il est complété automatiquement si la commune est française :

if not birth_country:
# Selecting a birth place sets the birth country field to France and disables it.
# However, disabled fields are ignored by Django.
# That's also why we can't make it mandatory.
# See utils.js > toggleDisableAndSetValue
if birth_place:
self.cleaned_data["birth_country"] = Country.objects.get(code=Country.INSEE_CODE_FRANCE)
else:
# Display the error above the field instead of top of page.
self.add_error("birth_country", "Le pays de naissance est obligatoire.")

Également, si on ne saisit pas de manière linéaire ou que l'on remplit le pays à France sans saisir de ville on a ce message d'erreur incohérent :

Capture d’écran 2024-11-20 à 10 16 33

Je pense que les deux messages ont été intervertis ici, au regard des conditions :

def validate_birth_location(birth_country, birth_place):
# If birth country is France, then birth place must be provided
if birth_country and birth_country.code == Country.INSEE_CODE_FRANCE and not birth_place:
raise ValidationError("Il n'est pas possible de saisir une commune de naissance hors de France.")
# If birth country is not France, do not fill a birth place (no ref file)
if birth_country and birth_country.code != Country.INSEE_CODE_FRANCE and birth_place:
raise ValidationError("Si le pays de naissance est la France, la commune de naissance est obligatoire.")


Bref, BirthPlaceAndCountryMixin est aussi utilisé ailleurs, je n'ai pas en tête tous les tenants, mais d'emblée j'aurais plutôt procédé ainsi :

  • Placer le champ country en required=True en premier, éditable dans tous les cas, quitte a réordonner les valeurs pour placer la France en tête de liste
  • Placer le champ ville en 2e puisqu'il dépend du pays, quitte à conditionner son affichage si le pays de naissance est la France

À voir avec les UX ?

Copy link
Copy Markdown
Contributor

@xavfernandez xavfernandez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En plus des points remontés par Léo (et qui devraient idéalement être corrigés dans une autre PR vu que ça concerne des formulaires existant), je m'attendais à revoir les tests propres au mixin BirthPlaceAndCountryMixin (commune française avec pays hors de France & commune française sans pays France...)

@francoisfreitag
Copy link
Copy Markdown
Member Author

Je pense que les deux messages ont été intervertis ici, au regard des conditions :

Tu as raison, ce sera corrigé avec #5173.

Make sure users are able to fill in that information in order to have
their IAE eligibility certified.

The Country.france_id is now preloaded to stabilize queries count across
the test suite. Before, depending on previous tests, the class would
have the id cached or not.
@francoisfreitag
Copy link
Copy Markdown
Member Author

  • Placer le champ country en required=True en premier, éditable dans tous les cas, quitte a réordonner les valeurs pour placer la France en tête de liste
  • Placer le champ ville en 2e puisqu'il dépend du pays, quitte à conditionner son affichage si le pays de naissance est la France

À voir avec les UX ?

Le plan était d’éviter la recherche du pays pour les candidats nés en France. Je suis d’accord que c’est surprenant de demander la commune en premier en précisant de ne pas la remplir si on est né à l’étranger.
J‘ai lancé la discussion avec les UX : https://itou-inclusion.slack.com/archives/CQ6C3LSAH/p1733478544132569
Étant donné que le problème est déjà existant sur les autres formulaires (édition profil candidat par les employeurs, prescripteurs et fiches salariés), je ne pense pas qu’il soit bloquant pour cette PR ?

@francoisfreitag francoisfreitag added this pull request to the merge queue Dec 12, 2024
Merged via the queue into master with commit 721dd6c Dec 12, 2024
@francoisfreitag francoisfreitag deleted the ff/edit-info-fields branch December 12, 2024 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC modifié Modifié dans le changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants