From ac785a2e3cfe92c1cf61626cfbc8d9cd6e5dcc52 Mon Sep 17 00:00:00 2001 From: Xavier Fernandez Date: Mon, 13 Jan 2025 10:30:40 +0100 Subject: [PATCH] refuse: adapt template for multiple applications & jobseekers --- itou/templates/apply/process_refuse.html | 34 +++++++++++++++++------- itou/www/apply/views/process_views.py | 3 ++- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/itou/templates/apply/process_refuse.html b/itou/templates/apply/process_refuse.html index 857822f40b..e12697ace2 100644 --- a/itou/templates/apply/process_refuse.html +++ b/itou/templates/apply/process_refuse.html @@ -4,13 +4,23 @@ {% load buttons_form %} {% block title %} - Décliner la candidature de {{ job_application.job_seeker.get_full_name }} + {% if job_applications|length == 1 %} + Décliner la candidature de {{ job_applications.0.job_seeker.get_full_name }} + {% else %} + Décliner {{ job_applications|length }} candidature{{ job_applications|pluralizefr }} + {% endif %} {{ block.super }} {% endblock %} {% block title_content %}
-

Décliner la candidature de {{ job_application.job_seeker.get_full_name }}

+

+ {% if job_applications|length == 1 %} + Décliner la candidature de {{ job_applications.0.job_seeker.get_full_name }} + {% else %} + Décliner {{ job_applications|length }} candidature{{ job_applications|pluralizefr }} + {% endif %} +

{% endblock %} @@ -28,7 +38,7 @@

Décliner la candidature de {{ job_application.job {% if wizard.steps.current == RefuseViewStep.REASON %} Étape {{ wizard.steps.step1 }}/{{ wizard.steps.count }} : Choix du motif de refus {% elif wizard.steps.current == RefuseViewStep.JOB_SEEKER_ANSWER %} - Étape {{ wizard.steps.step1 }}/{{ wizard.steps.count }} : Message au candidat + Étape {{ wizard.steps.step1 }}/{{ wizard.steps.count }} : Message {{ job_seeker_nb|pluralizefr:"au candidat,aux candidats" }} {% elif wizard.steps.current == RefuseViewStep.PRESCRIBER_ANSWER %} Étape {{ wizard.steps.step1 }}/{{ wizard.steps.count }} : Message {{ to_prescriber }} {% endif %} @@ -43,13 +53,13 @@

Décliner la candidature de {{ job_application.job

Choix du motif de refus

{% if with_prescriber %} - Dans le cadre d’un parcours IAE, la transparence sur les motifs de refus est importante pour le candidat comme pour {{ the_prescriber }}. Nous vous encourageons à répondre à chacune des parties. + Dans le cadre d’un parcours IAE, la transparence sur les motifs de refus est importante pour {{ job_seeker_nb|pluralizefr:"le candidat,les candidats" }} comme pour {{ the_prescriber }}. Nous vous encourageons à répondre à chacune des parties. {% else %} - Dans le cadre d’un parcours IAE, la transparence sur les motifs de refus est importante pour le candidat. + Dans le cadre d’un parcours IAE, la transparence sur les motifs de refus est importante pour {{ job_seeker_nb|pluralizefr:"le candidat,les candidats" }}. {% endif %}

{% elif wizard.steps.current == RefuseViewStep.JOB_SEEKER_ANSWER %} -

Réponse au candidat

+

Réponse {{ job_seeker_nb|pluralizefr:"au candidat,aux candidats" }}

{% if with_prescriber %} Une copie de ce message sera adressée {{ to_prescriber }}. @@ -60,7 +70,9 @@

Réponse au candidat

Motif de refus : {{ refusal_reason_label }} - {% if not refusal_reason_shared_with_job_seeker %}(Motif non communiqué au candidat){% endif %} + {% if not refusal_reason_shared_with_job_seeker %} + (Motif non communiqué {{ job_seeker_nb|pluralizefr:"au candidat,aux candidats" }}) + {% endif %}

{% elif wizard.steps.current == RefuseViewStep.PRESCRIBER_ANSWER %}

Réponse {{ to_prescriber }}

@@ -70,7 +82,9 @@

Réponse {{ to_prescriber }}

Motif de refus : {{ refusal_reason_label }} - {% if not refusal_reason_shared_with_job_seeker %}(Motif non communiqué au candidat){% endif %} + {% if not refusal_reason_shared_with_job_seeker %} + (Motif non communiqué {{ job_seeker_nb|pluralizefr:"au candidat,aux candidats" }}) + {% endif %}

{% endif %} @@ -118,7 +132,9 @@

Réponse {{ to_prescriber }}

- Partager ce motif de refus au candidat ? + + Partager ce motif de refus {{ job_seeker_nb|pluralizefr:"au candidat,aux candidats" }} ? + {% bootstrap_field form.refusal_reason_shared_with_job_seeker %}
diff --git a/itou/www/apply/views/process_views.py b/itou/www/apply/views/process_views.py index 455bc3dfe1..f618f7a0f9 100644 --- a/itou/www/apply/views/process_views.py +++ b/itou/www/apply/views/process_views.py @@ -477,7 +477,7 @@ def get_context_data(self, **kwargs): ).label context["refusal_reason_shared_with_job_seeker"] = cleaned_data["refusal_reason_shared_with_job_seeker"] return context | { - "job_application": self.job_application, + "job_applications": [self.job_application], "can_view_personal_information": True, # SIAE members have access to personal info "matomo_custom_title": "Candidature refusée", "matomo_event_name": f"refuse-application-{self.steps.current}-submit", @@ -490,6 +490,7 @@ def get_context_data(self, **kwargs): "le prescripteur" if self.job_application.is_sent_by_authorized_prescriber else "l’orienteur" ), "with_prescriber": self.job_application.sender_kind == job_applications_enums.SenderKind.PRESCRIBER, + "job_seeker_nb": 1, } def get_form_kwargs(self, step=None):