Talent-Catalog / talentcatalog

https://tctalent.org
GNU Affero General Public License v3.0
11 stars 4 forks source link

Mini Intake - Confirm General Information - Registration process changes - multiple nationalities #697

Closed sadatmalik closed 3 weeks ago

sadatmalik commented 7 months ago

See: https://www.canva.com/design/DAFtz28cQHE/JZI_5copovFN8N1fE2lQYg/view

Make it possible for candidates to add multiple nationalities they may hold as part of the registration process

sadatmalik commented 3 months ago

Discussed with John - agreed to implement this.

See the slide deck: "Make it possible for candidates to add multiple nationalities they may hold as part of the registration process."

cazcam34 commented 3 months ago
Screen Shot 2024-07-02 at 11.55.44 am.png
cazcam34 commented 3 months ago

Since we are just wanting to collect a nationality country (we don't need to collect other associating information e.g. Occupations which includes an occupation and a number of years in occupation) then I see the best way to do this would be making country dropdown a multiselect dropdown? And then changing the field to be a list of country ids instead of a single country id?

Screen Shot 2024-07-02 at 12.01.45 pm.png
EhsanEhrari commented 3 months ago

To ensure candidates can add multiple nationalities during the registration process, modifying the country dropdown to a multi-select dropdown is a good approach. As @cazcam34 suggested, changing the candidate nationality field to a list of nationalities instead of a single nationality ID is essential. However, this change would require all relevant components to use the list of nationality IDs instead of a single nationality ID. Given these considerations, do you think this approach is feasible and beneficial for our system? Are there any potential challenges we should be aware of before proceeding?

EhsanEhrari commented 3 months ago

We may need to update several parts of application. This involves modifying the model, HTML form, component, and service to handle a list of country IDs instead of a single country ID.

EhsanEhrari commented 3 months ago

And also we may need to update any other components or parts of the application that rely on the nationality field to use nationalities.

EhsanEhrari commented 3 months ago

Further investigation: I found that currently, the Candidate entity has a ManyToOne relationship with Country for nationality. Since candidates can now have multiple nationalities, we may need to change this to a @OneToMany relationship and update the database schema. We may need to update the service layer (CandidateService) to handle saving and retrieving multiple nationalities for a candidate.

EhsanEhrari commented 3 months ago

Summary

cazcam34 commented 2 months ago

To discuss where this is at in meeting - discussed with @camerojo and making nationalities multiple fields will break code, we need a single nationality as it's one of the major sorts they use. What are the next steps with this ticket?

sadatmalik commented 1 month ago

We will review with the product team in the next intake revisions meeting (8 August)

sadatmalik commented 1 month ago

Reviewed this in today's meeting with Noura, Zeynep, John and Sadat.

We agreed to keep the current question as it is, which asks for the Country of Nationality, so the underlying data will remain as is.

Additionally, we will ask for any other nationalities, which can be added one at a time using a "+" button for each nationality - modelled on how we ask for multiple citizenships in the mini-intake.

camerojo commented 3 weeks ago

Simpler to use a multiselect "Other nationalities" if they say that they have other nationalities.

After Nationality, have simple yes/no question - "Do you have other nationalities?". This is not stored. But if they say yes, show multiselect drop down.