From 8e38beb26205c11c25083560c946629763cdc774 Mon Sep 17 00:00:00 2001
From: tguillon <theo.guillon@libriciel.coop>
Date: Thu, 13 Jan 2022 17:38:48 +0100
Subject: [PATCH] =?UTF-8?q?Correction=20:=20R=C3=A9initialisation=20des=20?=
 =?UTF-8?q?valeurs=20des=20champs=20d=C3=A9finissant=20si=20une=20AIPD=20e?=
 =?UTF-8?q?st=20obligatoire=20lorsqu'ils=20sont=20cach=C3=A9s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CHANGELOG.md                 |   2 +
 app/webroot/js/Fiches/pia.js | 161 ++++++++++++++++++++---------------
 2 files changed, 95 insertions(+), 68 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2775df5e..a338dd36 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,8 @@ Le format est basé sur le modèle [Keep a Changelog](http://keepachangelog.com/
 - [#636](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/636)
   Pb lors de la MAJ entre les traitements et les services lors de la migration de la base de données.
 
+- [#634](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/634)
+  Réinitialisation des valeurs des champs définissant si une AIPD est obligatoire lorsqu'ils sont cachés
 
 [2.1.2] - 23-11-2021
 =====
diff --git a/app/webroot/js/Fiches/pia.js b/app/webroot/js/Fiches/pia.js
index 585185ce..99ac51eb 100644
--- a/app/webroot/js/Fiches/pia.js
+++ b/app/webroot/js/Fiches/pia.js
@@ -2,160 +2,186 @@ $(document).ready(function () {
 
     displayAllInputsPia();
 
-    displayFieldPiaListNotRequired(($('#ressources_humaines').attr('id')), ($('#ressources_humaines').val()), false);
-    $('#ressources_humaines').change(function () {
+    let ressourcesHumaines = $('#ressources_humaines');
+    displayFieldPiaListNotRequired($(ressourcesHumaines).attr('id'), $(ressourcesHumaines).val(), false);
+    $(ressourcesHumaines).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#relation_fournisseurs').attr('id'), $('#relation_fournisseurs').val(), false);
-    $('#relation_fournisseurs').change(function () {
+    let relationFournisseurs = $('#relation_fournisseurs');
+    displayFieldPiaListNotRequired($(relationFournisseurs).attr('id'), $(relationFournisseurs).val(), false);
+    $(relationFournisseurs).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#gestion_electoral').attr('id'), $('#gestion_electoral').val(), false);
-    $('#gestion_electoral').change(function () {
+    let gestionElectoral = $('#gestion_electoral');
+    displayFieldPiaListNotRequired($(gestionElectoral).attr('id'), $(gestionElectoral).val(), false);
+    $(gestionElectoral).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#comites_entreprise').attr('id'), $('#comites_entreprise').val(), false);
-    $('#comites_entreprise').change(function () {
+    let comitesEntreprise = $('#comites_entreprise');
+    displayFieldPiaListNotRequired($(comitesEntreprise).attr('id'), $(comitesEntreprise).val(), false);
+    $(comitesEntreprise).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#association').attr('id'), $('#association').val(), false);
-    $('#association').change(function () {
+    let association = $('#association');
+    displayFieldPiaListNotRequired($(association).attr('id'), $(association).val(), false);
+    $(association).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#sante_prise_patient').attr('id'), $('#sante_prise_patient').val(), false);
-    $('#sante_prise_patient').change(function () {
+    let santePrisePatient = $('#sante_prise_patient');
+    displayFieldPiaListNotRequired($(santePrisePatient).attr('id'), $(santePrisePatient).val(), false);
+    $(santePrisePatient).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#avocats').attr('id'), $('#avocats').val(), false);
-    $('#avocats').change(function () {
+    let avocats = $('#avocats');
+    displayFieldPiaListNotRequired($(avocats).attr('id'), $(avocats).val(), false);
+    $(avocats).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired(($('#greffiers').attr('id')), ($('#greffiers').val()), false);
-    $('#greffiers').change(function () {
+    let greffiers = $('#greffiers');
+    displayFieldPiaListNotRequired($(greffiers).attr('id'), $(greffiers).val(), false);
+    $(greffiers).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#notaires').attr('id'), $('#notaires').val(), false);
-    $('#notaires').change(function () {
+    let notaires = $('#notaires');
+    displayFieldPiaListNotRequired($(notaires).attr('id'), $(notaires).val(), false);
+    $(notaires).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#collectivites_affaires_scolaires').attr('id'), $('#collectivites_affaires_scolaires').val(), false);
-    $('#collectivites_affaires_scolaires').change(function () {
+    let collectivitesAffairesScolaires = $('#collectivites_affaires_scolaires');
+    displayFieldPiaListNotRequired($(collectivitesAffairesScolaires).attr('id'), $(collectivitesAffairesScolaires).val(), false);
+    $(collectivitesAffairesScolaires).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#controles_acces').attr('id'), $('#controles_acces').val(), false);
-    $('#controles_acces').change(function () {
+    let controlesAcces = $('#controles_acces');
+    displayFieldPiaListNotRequired($(controlesAcces).attr('id'), $(controlesAcces).val(), false);
+    $(controlesAcces).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListNotRequired($('#ethylotests').attr('id'), $('#ethylotests').val(), false);
-    $('#ethylotests').change(function () {
+    let ethylotests = $('#ethylotests');
+    displayFieldPiaListNotRequired($(ethylotests).attr('id'), $(ethylotests).val(), false);
+    $(ethylotests).change(function () {
         displayFieldPiaListNotRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
     //
 
-    displayFieldPiaListRequired($('#sante_medicosociaux').attr('id'), $('#sante_medicosociaux').val(), false);
-    $('#sante_medicosociaux').change(function () {
+    let santeMedicosociaux = $('#sante_medicosociaux');
+    displayFieldPiaListRequired($(santeMedicosociaux).attr('id'), $(santeMedicosociaux).val(), false);
+    $(santeMedicosociaux).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#donnees_genetiques').attr('id'), $('#donnees_genetiques').val(), false);
-    $('#donnees_genetiques').change(function () {
+    let donneesGenetiques = $('#donnees_genetiques');
+    displayFieldPiaListRequired($(donneesGenetiques).attr('id'), $(donneesGenetiques).val(), false);
+    $(donneesGenetiques).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#profils_personnes_gestion_rh').attr('id'), $('#profils_personnes_gestion_rh').val(), false);
-    $('#profils_personnes_gestion_rh').change(function () {
+    let profilsPersonnesGestionRh = $('#profils_personnes_gestion_rh');
+    displayFieldPiaListRequired($(profilsPersonnesGestionRh).attr('id'), $(profilsPersonnesGestionRh).val(), false);
+    $(profilsPersonnesGestionRh).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#surveiller_constante_employes').attr('id'), $('#surveiller_constante_employes').val(), false);
-    $('#surveiller_constante_employes').change(function () {
+    let surveillerConstanteEmployes = $('#surveiller_constante_employes');
+    displayFieldPiaListRequired($(surveillerConstanteEmployes).attr('id'), $(surveillerConstanteEmployes).val(), false);
+    $(surveillerConstanteEmployes).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#gestion_alertes_sociale_sanitaire').attr('id'), $('#gestion_alertes_sociale_sanitaire').val(), false);
-    $('#gestion_alertes_sociale_sanitaire').change(function () {
+    let gestionAlertesSocialeSanitaire = $('#gestion_alertes_sociale_sanitaire');
+    displayFieldPiaListRequired($(gestionAlertesSocialeSanitaire).attr('id'), $(gestionAlertesSocialeSanitaire).val(), false);
+    $(gestionAlertesSocialeSanitaire).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#gestion_alertes_professionnelle').attr('id'), $('#gestion_alertes_professionnelle').val(), false);
-    $('#gestion_alertes_professionnelle').change(function () {
+    let gestionAlertesProfessionnelle = $('#gestion_alertes_professionnelle');
+    displayFieldPiaListRequired($(gestionAlertesProfessionnelle).attr('id'), $(gestionAlertesProfessionnelle).val(), false);
+    $(gestionAlertesProfessionnelle).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#donnees_sante_registre').attr('id'), $('#donnees_sante_registre').val(), false);
-    $('#donnees_sante_registre').change(function () {
+    let donneesSanteRegistre = $('#donnees_sante_registre');
+    displayFieldPiaListRequired($(donneesSanteRegistre).attr('id'), $(donneesSanteRegistre).val(), false);
+    $(donneesSanteRegistre).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#profilage_rupture_contrat').attr('id'), $('#profilage_rupture_contrat').val(), false);
-    $('#profilage_rupture_contrat').change(function () {
+    let profilageRuptureContrat = $('#profilage_rupture_contrat');
+    displayFieldPiaListRequired($(profilageRuptureContrat).attr('id'), $(profilageRuptureContrat).val(), false);
+    $(profilageRuptureContrat).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#mutualises_manquements_rupture_contrat').attr('id'), $('#mutualises_manquements_rupture_contrat').val(), false);
-    $('#mutualises_manquements_rupture_contrat').change(function () {
+    let mutualisesManquementsRuptureContrat = $('#mutualises_manquements_rupture_contrat');
+    displayFieldPiaListRequired($(mutualisesManquementsRuptureContrat).attr('id'), $(mutualisesManquementsRuptureContrat).val(), false);
+    $(mutualisesManquementsRuptureContrat).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#profilage_donnees_externes').attr('id'), $('#profilage_donnees_externes').val(), false);
-    $('#profilage_donnees_externes').change(function () {
+    let profilageDonneesExternes = $('#profilage_donnees_externes');
+    displayFieldPiaListRequired($(profilageDonneesExternes).attr('id'), $(profilageDonneesExternes).val(), false);
+    $(profilageDonneesExternes).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#biometriques').attr('id'), $('#biometriques').val(), false);
-    $('#biometriques').change(function () {
+    let biometriques = $('#biometriques');
+    displayFieldPiaListRequired($(biometriques).attr('id'), $(biometriques).val(), false);
+    $(biometriques).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#gestion_logements_sociaux').attr('id'), $('#gestion_logements_sociaux').val(), false);
-    $('#gestion_logements_sociaux').change(function () {
+    let gestionLogementsSociaux = $('#gestion_logements_sociaux');
+    displayFieldPiaListRequired($(gestionLogementsSociaux).attr('id'), $(gestionLogementsSociaux).val(), false);
+    $(gestionLogementsSociaux).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#accompagnement_social').attr('id'), $('#accompagnement_social').val(), false);
-    $('#accompagnement_social').change(function () {
+    let accompagnementSocial = $('#accompagnement_social');
+    displayFieldPiaListRequired($(accompagnementSocial).attr('id'), $(accompagnementSocial).val(), false);
+    $(accompagnementSocial).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         scrollEnd();
     });
 
-    displayFieldPiaListRequired($('#localisation_large_echelle').attr('id'), $('#localisation_large_echelle').val(), false);
-    $('#localisation_large_echelle').change(function () {
+    let localisationLargeEchelle = $('#localisation_large_echelle');
+    displayFieldPiaListRequired($(localisationLargeEchelle).attr('id'), $(localisationLargeEchelle).val(), false);
+    $(localisationLargeEchelle).change(function () {
         displayFieldPiaListRequired($(this).attr('id'), $(this).val());
         displayFieldRisque(false);
         scrollEnd();
@@ -169,8 +195,9 @@ $(document).ready(function () {
         scrollEnd();
     });
 
-    displayFieldTraitementConsidereRisque($('#traitement_considere_risque').val(), false)
-    $('#traitement_considere_risque').change(function () {
+    let traitementConsidereRisque = $('#traitement_considere_risque');
+    displayFieldTraitementConsidereRisque($(traitementConsidereRisque).val(), false)
+    $(traitementConsidereRisque).change(function () {
         displayFieldTraitementConsidereRisque($(this).val());
         scrollEnd();
     });
@@ -233,7 +260,6 @@ function displayFieldPiaListNotRequired(id, val, showAlert = true) {
         }
 
         $('#obligation_pia').val('');
-        // scrollEnd();
 
     } else {
         if (val == 'Oui') {
@@ -243,17 +269,18 @@ function displayFieldPiaListNotRequired(id, val, showAlert = true) {
             $('#obligation_pia').val('0');
         }
 
+        // On cache et on reset les champs pour lesquelles une AIPD n'est pas obligatoire
         $('#'+id).parent().nextAll('div').hide();
-        $('#'+id).parent().nextAll('div').children().children().prop('selectedIndex',0);
+        $('#'+id).parent().nextAll('div').find('select').prop('selectedIndex',0);
 
-        // On cache
+        // On cache et on reset les champs pour lesquelles une AIPD est obligatoire
         $('#liste_obligatoire').hide();
-        $('#liste_criteres').hide();
-
-        // On reset les valeurs caché
+        $('#liste_obligatoire').find('div.form-group').hide();
         $('.fieldRequiredPia').val('');
-        $('.fieldListeRequiredPia').val('');
-        $('#info_pia input:checkbox[type=checkbox]').attr('checked',false);
+
+        // On cache et on reset les champs concernant les critères
+        $('#liste_criteres').hide();
+        $('#info_pia input[type=checkbox]').prop('checked',false);
         $('#traitement_considere_risque').val('');
     }
 }
@@ -275,8 +302,6 @@ function displayFieldPiaListRequired(id, val, showAlert = true)
 
         $('#obligation_pia').val('');
 
-        // scrollEnd();
-
     } else {
         if (val == 'Oui') {
             if (showAlert === true) {
@@ -285,13 +310,13 @@ function displayFieldPiaListRequired(id, val, showAlert = true)
             $('#obligation_pia').val('1');
         }
 
+        // On cache et on reset les champs pour lesquelles une AIPD est obligatoire
         $('#'+id).parent().nextAll('div').hide();
-        $('#'+id).parent().nextAll('div').children().children().prop('selectedIndex',0);
+        $('#'+id).parent().nextAll('div').find('select').prop('selectedIndex',0);
 
+        // On cache et on reset les champs concernant les critères
         $('#liste_criteres').hide();
-        $('.fieldListeRequiredPia').val('');
-
-        $('#info_pia input:checkbox[type=checkbox]').attr('checked',false);
+        $('#info_pia input[type=checkbox]').prop('checked',false);
         $('#traitement_considere_risque').val('');
     }
 }
-- 
GitLab