Valider cf8a6345 rédigé par thrax's avatar thrax
Parcourir les fichiers

Correction de l'absence d'analyse de recevabilité de la parité alternée des...

Correction de l'absence d'analyse de recevabilité de la parité alternée des listes... toute simple !
parent 1dc99072
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+68 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -88,7 +88,9 @@ function recevabilites_analyse_de_recevabilite_dist($fichier=null,$id_list_elec=
			$tab .= $nb_total;
			$tab .= '</th>';
			$title = ''; $class = 'success'; $donnee = $nb_total;

			// a-t-on un nombre global à atteindre, impératif ou minimum ?

			if (isset($script['listes']['global']['imperatif']['nb'])) {
				if ($script['listes']['global']['imperatif']['nb'] == $nb_total) {
					$title .= _T(reforme_idiome($script['listes']['global']['imperatif']['success']), array('nb'=> $nb_total));
@@ -118,7 +120,9 @@ function recevabilites_analyse_de_recevabilite_dist($fichier=null,$id_list_elec=
					}
				}
			}

			# Spéficitées à prendre en compte globalement

			if (isset($script['listes']['specific'])) {
				if (isset($script['listes']['specific']['pair']['type']) and  $script['listes']['specific']['pair']['type'] == '2n') {
					if ($nb_total/2 != floor($nb_total/2)) {
@@ -136,7 +140,7 @@ function recevabilites_analyse_de_recevabilite_dist($fichier=null,$id_list_elec=

			$tab .= '<tbody>';

			# indication de la parité, si la parité à atteindre est définie par un pourcentage
			# indication de la parité définie par un pourcentage

			if ($script['listes']['parite']['type']=='def'){
				// le nombre de femmes et d'hommes de la liste
@@ -170,6 +174,64 @@ function recevabilites_analyse_de_recevabilite_dist($fichier=null,$id_list_elec=
				$tab .= '</td></tr>';
			}

			# indication de la parité définie globalement en alternance

			if (($script['listes']['parite']['type'] and $script['listes']['parite']['type'] == 'alterne')
				and
				($script['listes']['parite']['defaut']['mode'] and $script['listes']['parite']['defaut']['mode'] == 'global')){
				$nbg = $nbgf = $nbgh = $identifiant = 0;$precedent = $alterne = 'oui';$erreur_alternance='';

				foreach ($liens as $l => $valeurs) {
					$nbg++;
					if ($valeurs['genre'] == 'femme') {
						$nbgf++;
						if ($precedent == 'femme') {
							$alterne = 'non'; $erreur_alternance = $identifiant;
						}
						$precedent = 'femme'; $identifiant = $valeurs['id_list_membre'];
					} elseif ($valeurs['genre'] == 'homme') {
						$nbgh++;
						if ($precedent == 'homme') {
							$alterne = 'non'; $erreur_alternance = $identifiant;
						}
						$precedent = 'homme'; $identifiant = $valeurs['id_list_membre'];
					}
				}
				$tab .= '<td class="reponse_formulaire explication decale" title="' . _T(reforme_idiome($script['listes']['parite']['defaut']['explication'])) . '">' . _T(reforme_idiome($script['listes']['parite']['defaut']['titre'])) . '</td>';
				if ($alterne == 'oui') {
					$idiome = $script['listes']['parite']['defaut']['success'];
					$class = 'success';
					if ($idiome) {
						$inclure = _T(reforme_idiome($idiome));
					}
					$tab .= "<td>&#x2640;&nbsp;/&nbsp;&#x2642;</td>";
				} else {
					$idiome = $script['listes']['parite']['defaut']['error'];
					$class = 'error';
					if ($idiome) {
						$inclure = _T(reforme_idiome($idiome), array('id' => $erreur_alternance));
					}
					if ($precedent == 'homme') {
						$tab .= "<td>&#x2642;&nbsp;/&nbsp;&#x2642;</td>";
					} else {
						$tab .= "<td>&#x2640;&nbsp;/&nbsp;&#x2640;</td>";
					}
				}
				if (!$idiome) {  // on a pas l'idiome pour expliquer et on le dit
					spip_log(_T('list_elec:log_err_absence_idiome', array(
							'fichier' => $fichier,
							'chemin' => 'listes/parite/defaut/' . $class,
							'liste' => $id_list_elec,
							'scrutin' => $id_list_scrutin,
						)
					),
						'op_elec.' . _LOG_INFO_IMPORTANTE
					);
					$inclure = _T('list_elec:title_err_absence_idiome');
				}
				$tab .= '<td class="reponse_formulaire ' . $class . ' center" title="' . $inclure . '">' . $erreur_alternance . '</td></tr>';
			}

			$groupes_en_bdd = array_unique(array_column($liens, 'groupe')); // groupe existant
			$groupes = array();
			foreach ($script['groupes'] as $cle => $valeur) {
@@ -296,6 +358,7 @@ function recevabilites_analyse_de_recevabilite_dist($fichier=null,$id_list_elec=
				if ((!$script['groupes'][$valeur]['alterne']['mode'] == 'groupe' and !$script['listes']['parite']['defaut']['mode']=='groupe')
					and 
					!$script['listes']['parite']['defaut']['mode'] == 'global') {
						
					$tab .= '<tr><td>';
					$tab .= 'Groupe '.$valeur.' Femmes';
					$tab .= '</td><td>';
@@ -369,8 +432,8 @@ function recevabilites_analyse_de_recevabilite_dist($fichier=null,$id_list_elec=
						}
					}
				} 

			} 

			$tab .= '</tbody></table>';
		}
	}
+6 −6
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
# Recevabilité - Election régionale - 2 tours
# Recevabilité - Election municipale - 22 candidatures
listes:
# global indique le seuil de candidats que la liste doit atteindre
 global:
@@ -12,11 +12,11 @@ listes:
 parite:
  type: 'alterne'
  defaut:
   mode: 'groupe'
   titre: '<:list_recevabilite:titre_groupe_alternance:>'
   explication: '<:list_recevabilite:texte_explication_parite_alternance:>'
   success: '<:list_recevabilite:texte_groupe_alternance_success:>'
   error: '<:list_recevabilite:texte_groupe_alternance_error:>'
   mode: 'global'
   titre: '<:list_recevabilite:titre_parite_global:>'
   explication: '<:list_recevabilite:texte_parite_alterne:>'
   success: '<:list_recevabilite:texte_parite_alterne_success:>'
   error: '<:list_recevabilite:texte_parite_alterne_error:>'
mandats:
 'conseiller_municipal':
  titre: '<:list_recevabilite:titre_mandat_conseiller_municipal:>'