Commit 69317877 authored by Matthieu FAURE's avatar Matthieu FAURE

Merge branch...

Merge branch '15-ne-plus-cacher-les-coordonnees-lorsqu-on-selectionne-une-autre-collectivite' into 'master'

Resolve "Ne plus cacher les coordonnées lorsqu'on sélectionne une autre collectivité"

Closes #15

See merge request !10
parents a288593c 4479400b
//liste des blocs qui peuvent être affichés / cachés
var blocks = ["link", "paraSecondSelection", "cotisation", "informationsCollectivite", "formulaireEPCIMutualisant", "boutonEnvoyer", "chorus_pro"];
var maxCotisation = 12000;
const blocks = ["link", "paraSecondSelection", "cotisation", "informationsCollectivite", "formulaireEPCIMutualisant", "boutonEnvoyer", "chorus_pro"];
const maxCotisation = 12000;
function displayMask(display) {
//fonction qui affiche / cache les formulaires / informations en fonction des données entrées dans les formulaires
for (var h = 0; h < blocks.length; h++) {
for (let h = 0; h < blocks.length; h++) {
if (isWordIn(blocks[h], display)) {
document.getElementById(blocks[h]).style.display = "block";
} else {
......@@ -19,17 +18,14 @@ function displayMaskOptions(display) {
//sert à afficher / cacher les options du 2e select menu, et modifier le label qui va avec
var toutesLesOptions = document.getElementsByName("optionSelect2");
for (var j = 0; j < toutesLesOptions.length; j++) {
for (let j = 0; j < toutesLesOptions.length; j++) {
//boucle for qui va parcourir la liste des classes des options disponibles
if (display === toutesLesOptions[j].getAttribute("class")) {
//si l'element en cours est celui de la classe recherchée
console.log(display + "===" + toutesLesOptions[j].getAttribute("class"));
if (toutesLesOptions[j].getAttribute("value") === "none") {
if (toutesLesOptions[j].getAttribute("value") === "") {
toutesLesOptions[j].selected = true;
}
......@@ -37,10 +33,9 @@ function displayMaskOptions(display) {
//on affiche le label
document.getElementById("TYPENBR-" + toutesLesOptions[j].getAttribute("class")).style.display = "block";
console.log("on affiche " + document.getElementById("TYPENBR-" + display));
} else {
console.log(display + "=/=" + toutesLesOptions[j].getAttribute("class"));
toutesLesOptions[j].hidden = true;
//On cache le label
......@@ -65,19 +60,20 @@ function firstAction() {
//si il a cliqué sur association
else if (strUser === "Association") {
setCotisation("Association");
displayMask(["cotisation", "informationsCollectivite", "boutonEnvoyer"]);
document.getElementById("secondSelection").required = false;
setSizeRequired(false);
setEPCIRequired(false);
setChorusProRequired(false);
} else if (strUser === "EPCIMutualisant") {
//formulaire contenant la formule spécifique à EPCI mutualisant
displayMask(["formulaireEPCIMutualisant"]);
displayMask(["formulaireEPCIMutualisant", "cotisation", "informationsCollectivite", "chorus_pro", "boutonEnvoyer"]);
setSizeRequired(false);
setEPCIRequired(true);
setChorusProRequired(true);
setCotisation("EPCIMutualisant", 1200);
} else if (strUser === "none") {
//premier choix avec des tirets
......@@ -87,11 +83,13 @@ function firstAction() {
//si il a cliqué sur autre chose : on cherche à connaitre la taille de la collectivité, on affiche le 2e select
else {
displayMaskOptions(strUser);
document.getElementById("secondSelection").required = true;
setSizeRequired(true);
displayMask(["paraSecondSelection"]);
displayMask(["paraSecondSelection", "cotisation", "informationsCollectivite", "chorus_pro", "boutonEnvoyer"]);
setEPCIRequired(false);
setChorusProRequired(true);
setCotisation("EPCIMutualisant", 0);
}
}
......@@ -115,11 +113,11 @@ function prepareDocument() {
//prépare la page html en ajoutant les event listener
displayMask([""]);
document.getElementById("firstSelect").addEventListener("change", firstAction, false);
document.getElementById("boutonValiderNombresEPCI").addEventListener("click", traitementEPCIMutualisant, false);
document.getElementById("nombreHabitantsEPCI").addEventListener("change", traitementEPCIMutualisant, false);
document.getElementById("nombreCommunesMembresEPCI").addEventListener("change", traitementEPCIMutualisant, false);
document.getElementById("secondSelection").addEventListener("change", secondAction, false);
setCotisation("");
//si le formulaire a échoué, il y a probablement des zones à afficher en fonction de ce qui a été rempli
var choiceType = document.getElementById("ancienSelectType").getAttribute("value");
......@@ -138,8 +136,6 @@ function prepareDocument() {
traitementEPCIMutualisant();
} else {
var choiceSize = document.getElementById("ancienSelectSize").getAttribute("value");
if (choiceSize.length > 0 && choiceSize !== "none") {
var listOfSizeOptions = document.getElementsByClassName(choiceType);
......@@ -167,37 +163,36 @@ function secondAction() {
//fonction exécutée lorsque le 2e select est cliqué
var e = document.getElementById("secondSelection");
if (e.options[e.selectedIndex].value !== "none") {
if (e.options[e.selectedIndex].value !== "") {
//s'il a sélectionné autre chose que les tirets
var selectedTranch = e.options[e.selectedIndex].getAttribute("id");
setCotisation(selectedTranch);
displayMask(["paraSecondSelection", "cotisation", "informationsCollectivite", "boutonEnvoyer", "chorus_pro"]);
//displayMask("paraSecondSelection","cotisation","informationsCollectivite","chorus_pro","boutonEnvoyer");
console.log("ok 1");
} else {
displayMask(["paraSecondSelection"]);
setCotisation("EPCIMutualisant", 0);
}
}
function setCotisation(id, x = 0) {
function setCotisation(id, x = -1) {
//définit la cotisation à afficher, l'option x sert uniquement pour le tarif EPCI mutualisant qui varie.
var paragraphCotList = document.getElementsByClassName("PCOT");
var research = "PCOT-" + id;
for (var b = 0; b < paragraphCotList.length; b++) {
if (paragraphCotList[b].getAttribute("id") === research) {
console.log(paragraphCotList[b].getAttribute("id") + "===" + research);
paragraphCotList[b].style.display = "block";
if (x > 0) {
if (x > -1) {
document.getElementById("montantCotisation").innerHTML = x;
}
} else {
paragraphCotList[b].style.display = "none";
console.log(paragraphCotList[b].getAttribute("id") + "=/=" + research);
}
}
}
......@@ -214,14 +209,21 @@ function setEPCIRequired(boolean) {
document.getElementById("nombreCommunesMembresEPCI").required = boolean;
}
function setSizeRequired(boolean) {
document.getElementById("secondSelection").required = boolean;
}
function traitementEPCIMutualisant() {
//lorsque l'utilisateur valide les 2 nombres entrés pour l'EPCI, les traitements nécessaires sont ici
var nombreHabitants = document.getElementById("nombreHabitantsEPCI").value;
var nombreCommunesMembres = document.getElementById("nombreCommunesMembresEPCI").value;
if (nombreHabitants !== "") {
if (nombreCommunesMembres !== "") {
if (nombreHabitants !== "" && parseInt(nombreHabitants) >= 0) {
if (nombreCommunesMembres !== "" && parseInt(nombreCommunesMembres) >= 0) {
console.log("nombreHabitants = " + nombreHabitants);
console.log("nombreCommunesMembres = " + nombreCommunesMembres);
var resultat = (0.035 * nombreHabitants) + (15 * nombreCommunesMembres) + 1200;
resultat = Math.round(resultat);
......@@ -238,6 +240,10 @@ function traitementEPCIMutualisant() {
setCotisation("EPCIMutualisant", resultat);
displayMask(["cotisation", "informationsCollectivite", "formulaireEPCIMutualisant", "boutonEnvoyer", "chorus_pro"]);
} else {
setCotisation("EPCIMutualisant", 1200);
}
} else {
setCotisation("EPCIMutualisant", 1200);
}
}
\ No newline at end of file
......@@ -177,7 +177,9 @@ function generateLabelCotisations()
for ($i = 0; $i < count($listeGrilleEntiere); $i++) {
if (isset($listeGrilleEntiere[$i][3])) {
$id = "TYPENBR-" . createNameClass($listeGrilleEntiere[$i][0]);
echo "<label id=\"" . $id . "\" for=\"secondSelection\">Veuillez sélectionner le nombre " . $listeGrilleEntiere[$i][3] . " :</label> \n";
echo "<label id=\"" . $id . "\" for=\"secondSelection\">
<abbr class=\"adullact-required\" title=\"Champ obligatoire\">*</abbr>
Veuillez sélectionner le nombre " . $listeGrilleEntiere[$i][3] . " :</label> \n";
}
}
}
......@@ -202,7 +204,7 @@ function generateSecondSelection()
$classInTreatment = $actualClass;
?>
<option class="<?php echo $classInTreatment ?>" value="none" name="optionSelect2">---
<option class="<?php echo $classInTreatment ?>" value="" name="optionSelect2">---
</option>
<?php
}
......@@ -252,6 +254,7 @@ function tryToShowError($var)
global $errors, $debug_mode;
if (strlen($errors[$var]) > 0) {
echo "<p class='error'> " . $errors[$var] . "</p>";
} else {
if ($debug_mode) {
echo "pas d'erreur : " . $errors[$var];
......@@ -316,6 +319,12 @@ get_header();
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<h1>Formulaire de renouvellement d'adhésion</h1>
<p>Les champs portant une astérisque
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
sont obligatoires
</p>
<p>
<?php
if ($numberOfErrors == 1) {
......@@ -325,7 +334,7 @@ get_header();
}
?>
</p>
<form action="" method="post">
<form action="" method="post" id="adullact-membership-form">
<p>
<input id="ancienSelectType" type="hidden" name="ancienSelectType"
value="<?php tryToEcho("firstSelection") ?>">
......@@ -334,7 +343,10 @@ get_header();
<input id="ancienSelectPeriod" type="hidden" name="ancienSelectPeriod"
value="<?php tryToEcho("periodeAdhesionCollectivite") ?>">
<label for="firstSelect">Veuillez sélectionner le type de collectivité :</label>
<label for="firstSelect">
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Veuillez sélectionner le type de collectivité :
</label>
<select id="firstSelect" required="" name="firstSelection">
<option value="none">---</option>
......@@ -352,26 +364,30 @@ get_header();
<?php tryToShowError("first selection"); ?>
</p>
<div id="link">
<a href="contact.php" id="linkRedirection">Texte</a>
</div>
<div id="formulaireEPCIMutualisant">
<label for="nombreHabitantsEPCI">Nombre d'habitants de l'EPCI :</label>
<label for="nombreHabitantsEPCI">
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Nombre d'habitants de l'EPCI :
</label>
<input type="number" name="nombreHabitantsEPCI" id="nombreHabitantsEPCI"
value="<?php tryToEcho("nombreHabitantsEPCI"); ?>"><br>
<?php tryToShowError("EPCI com"); ?>
<?php tryToShowError("EPCI hab"); ?>
<label for="nombreCommunesMembresEPCI">Nombre de communes membres :</label>
<label for="nombreCommunesMembresEPCI">
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Nombre de communes membres :
</label>
<input type="number" name="nombreCommunesMembresEPCI" id="nombreCommunesMembresEPCI"
value="<?php tryToEcho("nombreCommunesMembresEPCI"); ?>"><br>
<?php tryToShowError("EPCI hab"); ?>
<?php tryToShowError("EPCI com"); ?>
<input type="button" value="Valider" id="boutonValiderNombresEPCI">
</div>
<p id="paraSecondSelection">
<div id="paraSecondSelection">
<?php
//on génère les labels
......@@ -385,8 +401,10 @@ get_header();
generateSecondSelection(); ?>
</select>
<?php tryToShowError("second Selection"); ?>
</p>
</div>
<div id="cotisation">
......@@ -400,13 +418,9 @@ get_header();
<div id="informationsCollectivite">
<h3>Coordonnées :</h3>
<p>Les champs portant une astérisque
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
sont obligatoires
</p>
<label for="nomCollectivite">
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Nom de la collectivité :
</label>
<input type="text" name="nomCollectivite" id="nomCollectivite" required=""
......@@ -414,21 +428,21 @@ get_header();
<?php tryToShowError("nom"); ?>
<label for="adresseCollectivite">
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Adresse :</label>
<input type="text" name="adresseCollectivite" id="adresseCollectivite" required=""
value="<?php tryToEcho("adresseCollectivite"); ?>"><br>
<?php tryToShowError("adresse"); ?>
<label for="codePostalCollectivite">
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Code postal :</label>
<input type="text" name="codePostalCollectivite" id="codePostalCollectivite" required=""
value="<?php tryToEcho("codePostalCollectivite"); ?>"><br>
<?php tryToShowError("CP"); ?>
<label for="villeCollectivite">
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Ville :</label>
<input type="text" name="villeCollectivite" id="villeCollectivite" required=""
value="<?php tryToEcho("villeCollectivite"); ?>"><br>
......@@ -447,7 +461,7 @@ get_header();
<label for="periodeAdhesionCollectivite">
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Période d'adhésion :</label>
<select name="periodeAdhesionCollectivite" id="periodeAdhesionCollectivite" required="">
<option class="optionPeriod" value="" selected>---</option>
......@@ -461,7 +475,7 @@ get_header();
<h3>Informations relatives à Chorus Pro</h3>
<label for="siretCollectivite">
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
SIRET :
</label>
<input type="number" name="siretCollectivite" id="siretCollectivite" required=""
......@@ -470,7 +484,7 @@ get_header();
<label for="numeroEngagementCollectivite">
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
N° d'engagement :
</label>
<input type="text" name="numeroEngagementCollectivite" id="numeroEngagementCollectivite"
......@@ -479,7 +493,7 @@ get_header();
<?php tryToShowError("numeroEngagement"); ?>
<label for="codeCollectivite">
<abbr class="adullact-abbr" title="Champ obligatoire">*</abbr>
<abbr class="adullact-required" title="Champ obligatoire">*</abbr>
Code :
</label>
<input type="text" name="codeCollectivite" id="codeCollectivite" required=""
......@@ -491,7 +505,6 @@ get_header();
<input type="submit" id="boutonEnvoyer">
</form>
<script type="text/javascript" src="<?php echo $JSPath ?>"></script>
<script>
......
......@@ -8,22 +8,22 @@ Ville;20 001 à 30 000;2500
Ville;30 001 à 50 000;3000
Ville;50 001 à 80 000;3500
Ville;80 001 à 100 000;4000
Ville;+ de 100 000;4500
Ville;> 100 000;4500
Ville;à arrondissement;6000
Département;- de 1 000 000;4000;d'habitants
Département;< 1 000 000;4000;d'habitants
Département;1 000 000 à 2 000 000;4500
Département;+ de 2 000 000;6000
Région;- de 2 500 000;4500;d'habitants
Région;+ de 2 500 000;6000
EPCI à fiscalité propre;- de 10 000;1750;d'habitants
Département;> 2 000 000;6000
Région;< 2 500 000;4500;d'habitants
Région;> de 2 500 000;6000
EPCI à fiscalité propre;< 10 000;1750;d'habitants
EPCI à fiscalité propre;10 001 à 50 000;2500
EPCI à fiscalité propre;50 001 à 100 000;3000
EPCI à fiscalité propre;100 001 à 250 000;3500
EPCI à fiscalité propre;250 001 à 500 000;4000
EPCI à fiscalité propre;500 001 à 1 000 000;4500
EPCI à fiscalité propre;+ de 1 000 000;6000
Etablissement Public;- de 25;250;de salariés
EPCI à fiscalité propre;> 1 000 000;6000
Etablissement Public;< 25;250;de salariés
Etablissement Public;25 à 50;500
Etablissement Public;51 à 100;1250
Etablissement Public;101 à 500;1750
Etablissement Public;+ de 500;2500
\ No newline at end of file
Etablissement Public;> 500;2500
\ No newline at end of file
......@@ -8,34 +8,57 @@
Version: 0.8
*/
.adullact-members-list{
display:flex;
.adullact-members-list {
display: flex;
flex-direction: column;
margin-top:30px;
margin-top: 30px;
}
.adullact-line{
display:flex;
flex-direction:row;
.adullact-line {
display: flex;
flex-direction: row;
justify-content: flex-start;
}
.adullact-member{
max-width:200px;
.adullact-member {
max-width: 200px;
word-wrap: break-spaces;
text-align:center;
text-align: center;
}
.adullact-sort-button{
padding:5px;
.adullact-sort-button {
padding: 5px;
border-radius:3px;
border:1px solid grey;
color:grey;
margin:7px;
border-radius: 3px;
border: 1px solid grey;
color: grey;
margin: 7px;
}
.adullact-selected{
color:black;
border:1px solid black;
.adullact-selected {
color: black;
border: 1px solid black;
}
.adullact-required {
color: red;
}
#adullact-membership-form h3 {
margin-top: 20px;
margin-bottom: 20px;
color: cornflowerblue;
}
#secondSelection {
width: 220px;
}
#firstSelect {
width: 220px;
}
#periodeAdhesionCollectivite {
width: 220px;
margin-bottom: 20px;
}
\ No newline at end of file
......@@ -32,6 +32,7 @@ $errorInSiret = "Un numéro de SIRET est composé de 14 chiffres.";
$positiveNumberRequired = "Vous devez entrer un nombre positif.";
$numberRequired = "Vous devez entrer un nombre.";
$fieldRequired = "Vous devez compléter ce champ.";
$sizeRequired = "Vous devez sélectionner la taille de votre collectivité.";
$debug_mode_traitement = false;
$elementsOfPostToTrash = ["ancienSelectType", "ancienSelectSize", "ancienSelectPeriod"];
......@@ -151,17 +152,15 @@ function verifFirstSelection($tab)
function verifSecondSelection($tab, $errors)
{
global $sizeRequired;
if (isset($tab["secondSelection"])) {
if ($tab["secondSelection"] != "" || $tab["secondSelection"] != "none") {
$errors = traitementInformations($tab, $errors);
} else {
$errors["second Selection"] = "Vous devez sélectionner la taille de votre collectivité.";
if ($tab["secondSelection"] == "" || $tab["secondSelection"] == "none") {
$errors["second Selection"] = $sizeRequired;
}
} else {
$errors["second Selection"] = "Vous devez sélectionner la taille de votre collectivité.";
$errors["second Selection"] = $sizeRequired;
}
return $errors;
}
......@@ -484,7 +483,9 @@ function traitement($tab, $errors)
$errors = verifEPCI($tab, $errors);
$errors = traitementInformations($tab, $errors);
} else {
//taille
$errors = verifSecondSelection($tab, $errors);
$errors = traitementInformations($tab, $errors);
}
} else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment