[openresultat-Commits] r1050 - in branches/2.0.0-develop: . obj tests

0 views
Skip to first unread message

cga...@hephaestos.ovh.adullact.org

unread,
May 5, 2021, 11:06:54 AM5/5/21
to openmairie-...@googlegroups.com
Author: cgarcin
Date: 2021-05-05 17:06:52 +0200 (Wed, 05 May 2021)
New Revision: 1050

Modified:
branches/2.0.0-develop/
branches/2.0.0-develop/obj/election_unite.class.php
branches/2.0.0-develop/obj/import_specific.class.php
branches/2.0.0-develop/tests/011_parametrage_unite.robot
branches/2.0.0-develop/tests/023_workflow.robot
branches/2.0.0-develop/tests/035_imports.robot
Log:
Integration de la branche dediee aux imports :
- ajout de la maj des inscrits pour les perimetres lors de l'imports
- ajout des select permettant de choisir le departement et la commune des unites importees
- le nombre d'inscrit n'est plus remis a 0 en sortie de l'etape de simulation


Index: branches/2.0.0-develop
===================================================================
--- branches/2.0.0-develop 2021-05-05 15:03:01 UTC (rev 1049)
+++ branches/2.0.0-develop 2021-05-05 15:06:52 UTC (rev 1050)

Property changes on: branches/2.0.0-develop
___________________________________________________________________
Modified: svn:mergeinfo
## -12,7 +12,7 ##
/branches/2.0.0-develop-emargement-procuration:564-680
/branches/2.0.0-develop-ergonomie:886-890
/branches/2.0.0-develop-hierarchie:677-691
-/branches/2.0.0-develop-import:845-848,946-954,1004-1016
+/branches/2.0.0-develop-import:845-848,946-954,1004-1049
/branches/2.0.0-develop-modif:547-584
/branches/2.0.0-develop-perimetre:735-763
/branches/2.0.0-develop-personnalisation-animation:789-824
Modified: branches/2.0.0-develop/obj/election_unite.class.php
===================================================================
--- branches/2.0.0-develop/obj/election_unite.class.php 2021-05-05 15:03:01 UTC (rev 1049)
+++ branches/2.0.0-develop/obj/election_unite.class.php 2021-05-05 15:06:52 UTC (rev 1050)
@@ -743,7 +743,7 @@
*
* @return boolean indique si la maj à réussi
*/
- protected function maj_resultats_perimetres() {
+ public function maj_resultats_perimetres() {
// Récupèration de la liste des périmètres contenant l'unité
// et mise à jour des résultats de chacun de ces périmètres
$perimetres = $this->get_perimetres_election_unite(
@@ -2030,8 +2030,9 @@
// Reinitialise les résultats en gardant le nombre de votant par défaut qui est
// nul pour une élection mais égale au nombre de votant voulu pour une centaine
$votant = ! empty($election->getVal('votant_defaut')) ? $election->getVal('votant_defaut') : null;
+ $inscrit = ! empty($this->getVal('inscrit')) ? $this->getVal('inscrit') : null;
$resultats = array(
- 'inscrit' => null,
+ 'inscrit' => $inscrit,
'votant' => $votant,
'emargement' => null,
'procuration' => null,

Modified: branches/2.0.0-develop/obj/import_specific.class.php
===================================================================
--- branches/2.0.0-develop/obj/import_specific.class.php 2021-05-05 15:03:01 UTC (rev 1049)
+++ branches/2.0.0-develop/obj/import_specific.class.php 2021-05-05 15:06:52 UTC (rev 1050)
@@ -162,7 +162,7 @@
// avant de créer une nouvelle instance de la classe formulaire ayant comme
// attribut cette liste de champs. Ensuite pour chacun de ces champs, leur
// type, taille, libelle et taille max doivent être défini
- $champs = array("fic1", "separateur");
+ $champs = array("fic1", "separateur", "departement", "commune");

$form = $this->f->get_inst__om_formulaire(array(
"validation" => 0,
@@ -172,9 +172,13 @@

$form->setLib("fic1", "Fichier CSV");
$form->setLib("separateur", "Separateur");
+ $form->setLib("departement", "Departement");
+ $form->setLib("commune", "Commune");

$form->setType("fic1", "upload2");
$form->setType("separateur", "select");
+ $form->setType("departement", "select");
+ $form->setType("commune", "select");

$form->setTaille("fic1", 64);

@@ -194,6 +198,12 @@
);
$form->setSelect("separateur", $listeSeparateur);

+ $listeDept = $this->get_select('departement');
+ $form->setSelect("departement", $listeDept);
+
+ $listeComm = $this->get_select('commune');
+ $form->setSelect("commune", $listeComm);
+
// Affichage du formulaire
echo '<div id="form-csv-import" class="formulaire">';
$this->f->layout->display__form_container__begin(array(
@@ -233,6 +243,79 @@
}

/**
+ *
+ * @return string
+ */
+ function get_select($champs) {
+ $select = array(
+ 0 => array(null),
+ 1 => array('Choisir '.$champs)
+ );
+
+ $sql = sprintf(
+ "SELECT
+ %s, libelle
+ FROM
+ ".DB_PREFIXE."%s
+ ORDER BY
+ libelle ASC",
+ $this->f->db->escapeSimple($champs),
+ $this->f->db->escapeSimple($champs)
+ );
+
+ $resultat = $this->f->db->query($sql);
+ $this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);
+ if ($this->f->isDatabaseError($resultat, true)) {
+ $this->f->addToLog(__METHOD__." database error:".$resultat->getDebugInfo().";", DEBUG_MODE);
+ return $select;
+ }
+ while ($row = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
+ $select[0][] = $row[$champs];
+ $select[1][] = $row['libelle'];
+ }
+
+ return $select;
+ }
+
+ /**
+ *
+ * @return string
+ */
+ function get_departement_by_id() {
+ return "SELECT
+ departement, libelle
+ FROM
+ ".DB_PREFIXE."departement
+ WHERE
+ departement = <idx>";
+ }
+
+ /**
+ *
+ * @return string
+ */
+ function get_commune() {
+ return "SELECT
+ commune, libelle
+ FROM
+ ".DB_PREFIXE."commune
+ WHERE
+ commune = <idx>";
+ }
+
+ /**
+ *
+ * @return string
+ */
+ function get_commune_by_id() {
+ return "SELECT
+ commune, libelle
+ FROM
+ ".DB_PREFIXE."commune
+ ORDER BY
+ libelle ASC";
+ }
+ /**
* Affichage du formulaire d'import spécifique à l'import des unités
*
* @param string $obj Identifiant de l'import.
@@ -1190,7 +1273,9 @@
'ville' => null,
'code_unite' => null,
'canton' => null,
- 'circonscription' => null
+ 'circonscription' => null,
+ 'commune' => ! empty($_POST['commune']) ? $_POST['commune'] : null,
+ 'departement' => ! empty($_POST['departement']) ? $_POST['departement'] : null
);

// Récupération de l'identifiant du bureau.
@@ -1492,6 +1577,8 @@
if ($modifier === false) {
return 'ERREUR BD : les inscrits n\'ont pas été importé';
}
+ $electionUnite = $this->f->get_element_by_id('election_unite', $idElectionUnite);
+ $electionUnite->maj_resultats_perimetres();
} elseif ($idElectionUnite === false) {
return 'ERREUR BD : erreur lors de la récupération de l\'unité';
}

Modified: branches/2.0.0-develop/tests/011_parametrage_unite.robot
===================================================================
--- branches/2.0.0-develop/tests/011_parametrage_unite.robot 2021-05-05 15:03:01 UTC (rev 1049)
+++ branches/2.0.0-develop/tests/011_parametrage_unite.robot 2021-05-05 15:06:52 UTC (rev 1050)
@@ -180,9 +180,23 @@
... des unités de saisie à l'aide d'un fichier csv, issus d'ELIRE,
... récupère et enregistre correctement les données dans la base

+ &{commune} = BuiltIn.Create Dictionary
+ ... libelle=commune 42
+ ... code=13042
+ ... prefecture=42
+ ${id_commune} = Ajouter commune ${commune}
+
+ &{departement} = BuiltIn.Create Dictionary
+ ... libelle=departement 14
+ ... code=14
+ ... prefecture=14
+ ${id_departement} = Ajouter departement ${departement}
+
Depuis le formulaire d'import des unités
Add File fic1 ListeBureauVoteElire.csv
Select From List By Label separateur , (virgule)
+ Select From List By Label departement departement 14
+ Select From List By Label commune commune 42
Click On Submit Button In Import CSV

Valid Message Should Contain 5 ligne(s) dans le fichier dont :
@@ -213,6 +227,8 @@
... cp=13014
... perimetre=Non
... code_unite=001
+ ... departement=departement 14
+ ... commune=commune 42
L'unite a été correctement importée ${unite} 1507

&{unite} = BuiltIn.Create Dictionary
@@ -226,6 +242,8 @@
... cp=74000
... perimetre=Non
... code_unite=002
+ ... departement=departement 14
+ ... commune=commune 42
L'unite a été correctement importée ${unite} 1508

&{unite} = BuiltIn.Create Dictionary
@@ -240,6 +258,8 @@
... ville=
... perimetre=Non
... code_unite=003
+ ... departement=departement 14
+ ... commune=commune 42
L'unite a été correctement importée ${unite} 1509

&{unite} = BuiltIn.Create Dictionary
@@ -254,6 +274,8 @@
... ville=
... perimetre=Non
... code_unite=004
+ ... departement=departement 14
+ ... commune=commune 42
L'unite a été correctement importée ${unite} 1510



Modified: branches/2.0.0-develop/tests/023_workflow.robot
===================================================================
--- branches/2.0.0-develop/tests/023_workflow.robot 2021-05-05 15:03:01 UTC (rev 1049)
+++ branches/2.0.0-develop/tests/023_workflow.robot 2021-05-05 15:06:52 UTC (rev 1050)
@@ -343,7 +343,7 @@
# Vérification de la remise à zéro des résultats et de la participation
Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
&{resultats_attendus} = BuiltIn.Create Dictionary
- ... inscrit=\
+ ... inscrit=100
... votant=\
... emargement=\
... procuration=\
@@ -637,7 +637,7 @@
Element Should Contain css=div#affichage_article > fieldset > legend Résultats - Election Test Workflow
@{resultatsU3} Create List 10 546 546 6 43 57 446 146 300
@{resultats} Create List 0 0 0 0 0 0 0 0 0
- @{total} Create List 10 546 546 6 43 57 446 146 300
+ @{total} Create List 260 546 546 6 43 57 446 146 300
:FOR ${index} IN RANGE 9
\ ${position_td} = evaluate ${index} + ${2}
\ ${resultat} = Get From List ${resultatsU3} ${index}
@@ -718,7 +718,7 @@
Element Should Contain css=div#affichage_article > fieldset > legend Résultats - Election Test Workflow
@{resultatsU3} Create List 10 546 546 6 43 57 446 146 300
@{resultats} Create List 0 0 0 0 0 0 0 0 0
- @{total} Create List 10 546 546 6 43 57 446 146 300
+ @{total} Create List 260 546 546 6 43 57 446 146 300
:FOR ${index} IN RANGE 9
\ ${position_td} = evaluate ${index} + ${2}
\ ${resultat} = Get From List ${resultatsU3} ${index}
@@ -770,7 +770,7 @@
Retourner à l'étape précédente parametrage

&{resultats_attendus} = BuiltIn.Create Dictionary
- ... inscrit=\
+ ... inscrit=100
... votant=\
... emargement=\
... procuration=\

Modified: branches/2.0.0-develop/tests/035_imports.robot
===================================================================
--- branches/2.0.0-develop/tests/035_imports.robot 2021-05-05 15:03:01 UTC (rev 1049)
+++ branches/2.0.0-develop/tests/035_imports.robot 2021-05-05 15:06:52 UTC (rev 1050)
@@ -73,6 +73,8 @@
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 5 143
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 04 T035 Salle des Fêtes Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 5 ${EMPTY}
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 Commune Elire
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 5 454

# import de la liste principale + liste complémentaire municipale et vérification
Depuis le contexte election ${idElection}
@@ -98,6 +100,8 @@
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 5 148
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 04 T035 Salle des Fêtes Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 5 ${EMPTY}
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 Commune Elire
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 5 472

# import de la liste principale + liste complémentaire européenne et vérification
Depuis le contexte election ${idElection}
@@ -123,6 +127,8 @@
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 5 147
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 04 T035 Salle des Fêtes Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 5 ${EMPTY}
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 Commune Elire
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 5 469

Import des inscrits depuis un fichier csv d'openElec
[Documentation] L'objet de ce test case est de tester que l'import
@@ -195,6 +201,8 @@
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 7 5 772
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 8 3 6 T035 ECOLE DU VILLAGE
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 8 5 671
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 Commune openElec
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 5 4841

# import de la liste principale + liste complémentaire municipale et vérification
Depuis le contexte election ${idElection}
@@ -225,6 +233,8 @@
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 7 5 772
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 8 3 6 T035 ECOLE DU VILLAGE
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 8 5 685
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 Commune openElec
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 5 4864

# import de la liste principale + liste complémentaire européenne et vérification
Depuis le contexte election ${idElection}
@@ -253,4 +263,6 @@
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 7 3 5 T035 LE GYMNASE
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 7 5 772
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 8 3 6 T035 ECOLE DU VILLAGE
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 8 5 685
\ No newline at end of file
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 8 5 685
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 Commune openElec
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 5 4864
\ No newline at end of file

Reply all
Reply to author
Forward
0 new messages