[openresultat-Commits] r1048 - in branches/2.0.0-develop-import: . aff app app/css app/img app/js data/pgsql gen/dyn gen/obj gen/sql/pgsql obj sql/pgsql tests tests/binary_files tests/data/pgsql tests/doc tests/resources/app tests/resources/app/gen web web/themes/t01/js

1 view
Skip to first unread message

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

unread,
May 5, 2021, 10:03:33 AM5/5/21
to openmairie-...@googlegroups.com
Author: cgarcin
Date: 2021-05-05 16:03:29 +0200 (Wed, 05 May 2021)
New Revision: 1048

Added:
branches/2.0.0-develop-import/.svnignore
branches/2.0.0-develop-import/app/img/add-plus-circle-black.svg
branches/2.0.0-develop-import/app/img/add-plus-green.svg
branches/2.0.0-develop-import/app/img/check-green.svg
branches/2.0.0-develop-import/app/img/clock-time-blue.svg
branches/2.0.0-develop-import/app/img/insert-spreadsheet-black.svg
branches/2.0.0-develop-import/app/localisation_plan_edit.php
branches/2.0.0-develop-import/app/localisation_plan_view.php
branches/2.0.0-develop-import/gen/dyn/form.inc.php
branches/2.0.0-develop-import/gen/dyn/permissions.inc.php
branches/2.0.0-develop-import/obj/om_application_override.class.php
branches/2.0.0-develop-import/sql/pgsql/plan_unite.inc.php
branches/2.0.0-develop-import/tests/binary_files/ListeBureauVoteElire_T035.csv
branches/2.0.0-develop-import/tests/binary_files/ListeBureauVoteOpenelec_T035.csv
branches/2.0.0-develop-import/tests/binary_files/inscritOpenElec_T035.csv
Removed:
branches/2.0.0-develop-import/app/import_specific.php
branches/2.0.0-develop-import/sql/pgsql/plan.inc.php
branches/2.0.0-develop-import/sql/pgsql/plan_unite.inc.php
branches/2.0.0-develop-import/sql/pgsql/tranche.inc.php
Modified:
branches/2.0.0-develop-import/
branches/2.0.0-develop-import/aff/aff.class.php
branches/2.0.0-develop-import/app/css/app.css
branches/2.0.0-develop-import/app/js/script.js
branches/2.0.0-develop-import/app/unite.php
branches/2.0.0-develop-import/data/pgsql/init_permissions.sql
branches/2.0.0-develop-import/data/pgsql/v2.0.0.dev0.sql
branches/2.0.0-develop-import/gen/dyn/gen.inc.php
branches/2.0.0-develop-import/gen/obj/election.class.php
branches/2.0.0-develop-import/gen/obj/plan.class.php
branches/2.0.0-develop-import/gen/obj/plan_unite.class.php
branches/2.0.0-develop-import/gen/obj/unite.class.php
branches/2.0.0-develop-import/gen/sql/pgsql/acteur.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/animation.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/candidat.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/canton.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/circonscription.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/commune.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/delegation.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/departement.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/election.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/election_candidat.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/election_resultat.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/election_unite.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/lien_unite.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_collectivite.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_dashboard.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_droit.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_etat.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_lettretype.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_logo.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_parametre.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_permission.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_profil.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_requete.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_extent.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_flux.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map_comp.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map_flux.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_sousetat.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_utilisateur.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/om_widget.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/parti_politique.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/participation_election.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/participation_unite.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/plan.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/plan_election.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/plan_unite.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/tranche.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/type_election.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/type_unite.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/unite.inc.php
branches/2.0.0-develop-import/gen/sql/pgsql/web.inc.php
branches/2.0.0-develop-import/obj/animation.class.php
branches/2.0.0-develop-import/obj/centaine.class.php
branches/2.0.0-develop-import/obj/delegation.class.php
branches/2.0.0-develop-import/obj/delegation_participation.class.php
branches/2.0.0-develop-import/obj/election.class.php
branches/2.0.0-develop-import/obj/election_resultat.class.php
branches/2.0.0-develop-import/obj/election_unite.class.php
branches/2.0.0-develop-import/obj/import_specific.class.php
branches/2.0.0-develop-import/obj/lien_unite.class.php
branches/2.0.0-develop-import/obj/om_dbform.class.php
branches/2.0.0-develop-import/obj/om_formulaire.class.php
branches/2.0.0-develop-import/obj/openresultat.class.php
branches/2.0.0-develop-import/obj/participation_election.class.php
branches/2.0.0-develop-import/obj/participation_unite.class.php
branches/2.0.0-develop-import/obj/plan.class.php
branches/2.0.0-develop-import/obj/plan_election.class.php
branches/2.0.0-develop-import/obj/plan_unite.class.php
branches/2.0.0-develop-import/obj/tranche.class.php
branches/2.0.0-develop-import/obj/unite.class.php
branches/2.0.0-develop-import/sql/pgsql/delegation.inc.php
branches/2.0.0-develop-import/sql/pgsql/delegation_participation.inc.php
branches/2.0.0-develop-import/sql/pgsql/election.inc.php
branches/2.0.0-develop-import/sql/pgsql/election_resultat.inc.php
branches/2.0.0-develop-import/sql/pgsql/election_unite.inc.php
branches/2.0.0-develop-import/sql/pgsql/lien_unite.inc.php
branches/2.0.0-develop-import/sql/pgsql/participation_election.inc.php
branches/2.0.0-develop-import/sql/pgsql/participation_unite.inc.php
branches/2.0.0-develop-import/sql/pgsql/unite.inc.php
branches/2.0.0-develop-import/tests/010_parametrage_type_unite.robot
branches/2.0.0-develop-import/tests/011_parametrage_unite.robot
branches/2.0.0-develop-import/tests/012_parametrage_lien.robot
branches/2.0.0-develop-import/tests/013_parametrage_candidat.robot
branches/2.0.0-develop-import/tests/014_parametrage_type_election.robot
branches/2.0.0-develop-import/tests/015_parametrage_tranche.robot
branches/2.0.0-develop-import/tests/016_parametrage_canton.robot
branches/2.0.0-develop-import/tests/017_parametrage_circonscription.robot
branches/2.0.0-develop-import/tests/018_parametrage_commune.robot
branches/2.0.0-develop-import/tests/019_parametrage_departement.robot
branches/2.0.0-develop-import/tests/020_configuration_election.robot
branches/2.0.0-develop-import/tests/021_configuration_centaine.robot
branches/2.0.0-develop-import/tests/022_parametrage_plan.robot
branches/2.0.0-develop-import/tests/023_workflow.robot
branches/2.0.0-develop-import/tests/030_animation.robot
branches/2.0.0-develop-import/tests/031_web.robot
branches/2.0.0-develop-import/tests/032_edition.robot
branches/2.0.0-develop-import/tests/033_export.robot
branches/2.0.0-develop-import/tests/034_traitement_resultat.robot
branches/2.0.0-develop-import/tests/035_imports.robot
branches/2.0.0-develop-import/tests/036_conflits_saisie.robot
branches/2.0.0-develop-import/tests/data/pgsql/init_data.sql
branches/2.0.0-develop-import/tests/data/pgsql/init_parametrage.sql
branches/2.0.0-develop-import/tests/doc/app.html
branches/2.0.0-develop-import/tests/documentation.robot
branches/2.0.0-develop-import/tests/resources/app/application.robot
branches/2.0.0-develop-import/tests/resources/app/candidat.robot
branches/2.0.0-develop-import/tests/resources/app/canton.robot
branches/2.0.0-develop-import/tests/resources/app/circonscription.robot
branches/2.0.0-develop-import/tests/resources/app/commune.robot
branches/2.0.0-develop-import/tests/resources/app/departement.robot
branches/2.0.0-develop-import/tests/resources/app/election.robot
branches/2.0.0-develop-import/tests/resources/app/gen/plan_unite.robot
branches/2.0.0-develop-import/tests/resources/app/gen/unite.robot
branches/2.0.0-develop-import/tests/resources/app/lien_unite.robot
branches/2.0.0-develop-import/tests/resources/app/plan.robot
branches/2.0.0-develop-import/tests/resources/app/plan_unite.robot
branches/2.0.0-develop-import/tests/resources/app/tranche.robot
branches/2.0.0-develop-import/tests/resources/app/type_election.robot
branches/2.0.0-develop-import/tests/resources/app/type_unite.robot
branches/2.0.0-develop-import/tests/resources/app/unite.robot
branches/2.0.0-develop-import/web/encoding.class.php
branches/2.0.0-develop-import/web/themes/t01/js/script.js
branches/2.0.0-develop-import/web/web.class.php
Log:
Mise a jour par rapport a la branche d'integration


Index: branches/2.0.0-develop-import
===================================================================
--- branches/2.0.0-develop-import 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import 2021-05-05 14:03:29 UTC (rev 1048)

Property changes on: branches/2.0.0-develop-import
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,7 ##
+#
+# created by: svn propset svn:ignore -F ./.svnignore .
+#
+
+dyn
+var
+tests/results/*
Modified: svn:mergeinfo
## -1,4 +1,4 ##
-/branches/2.0.0-develop:1004-1015
+/branches/2.0.0-develop:1004-1047
/branches/2.0.0-develop-BV:713-732
/branches/2.0.0-develop-ajout-table:694-699
/branches/2.0.0-develop-animation:976-991
## -17,7 +17,7 ##
/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
-/branches/2.0.0-develop-plan:586-853
+/branches/2.0.0-develop-plan:586-853,1019-1029
/branches/2.0.0-develop-tests-fonctionnels:592-614
/branches/2.0.0-develop-web:968-977
/branches/2.0.0-develop-workflow:856-899
\ No newline at end of property
Copied: branches/2.0.0-develop-import/.svnignore (from rev 1047, branches/2.0.0-develop/.svnignore)
===================================================================
--- branches/2.0.0-develop-import/.svnignore (rev 0)
+++ branches/2.0.0-develop-import/.svnignore 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,7 @@
+#
+# created by: svn propset svn:ignore -F ./.svnignore .
+#
+
+dyn
+var
+tests/results/*

Modified: branches/2.0.0-develop-import/aff/aff.class.php
===================================================================
--- branches/2.0.0-develop-import/aff/aff.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/aff/aff.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -73,7 +73,9 @@
return;
}

- $this->set_param_blocs();
+ if ($this->set_param_blocs() === false) {
+ echo 'Le paramétrage des blocs est erroné';
+ }
$this->set_unites_infos();
$this->set_infos_candidats();
$this->set_resultats_unites();
@@ -188,76 +190,78 @@
//La sidebar n'est affiché que si elle est paramétrée dans le tableau
//c'est à dire que si la clé 'sidebar' existe
$blocs = $this->get_params_blocs();
- $html_contenu = '<br><div class="container-responsive">';
- $html_blocs = '';
-
- //Pour chaque bloc, récupération de son code html et ajout
- //au code html du contenu de la page
- foreach ($blocs as $nom => $bloc) {
- if ($nom !== 'sidebar' && array_key_exists('type', $bloc) && $bloc['type'] != '') {
- $nomFonction = 'get_html_'.$bloc['type'];
- if (method_exists($this, $nomFonction)) {
- $html_bloc = $this->$nomFonction($bloc);
- //Gestion de l'offset
- $html_offset = '';
- if (array_key_exists('offset', $bloc) &&
- is_numeric($bloc['offset'])
- && $bloc['offset'] > 0) {
- $html_offset = 'col-sm-offset-'.$bloc['offset'];
+ if (is_array($blocs)) {
+ $html_contenu = '<br><div class="container-responsive">';
+ $html_blocs = '';
+
+ //Pour chaque bloc, récupération de son code html et ajout
+ //au code html du contenu de la page
+ foreach ($blocs as $nom => $bloc) {
+ if ($nom !== 'sidebar' && array_key_exists('type', $bloc) && $bloc['type'] != '') {
+ $nomFonction = 'get_html_'.$bloc['type'];
+ if (method_exists($this, $nomFonction)) {
+ $html_bloc = $this->$nomFonction($bloc);
+ //Gestion de l'offset
+ $html_offset = '';
+ if (array_key_exists('offset', $bloc) &&
+ is_numeric($bloc['offset'])
+ && $bloc['offset'] > 0) {
+ $html_offset = 'col-sm-offset-'.$bloc['offset'];
+ }
+ //Ajout du bloc au code html de tous les blocs
+ $html_blocs .= sprintf(
+ '<div class="col-sm-%d %s">
+ %s
+ </div>',
+ $bloc['taille'],
+ $html_offset,
+ $html_bloc
+ );
}
- //Ajout du bloc au code html de tous les blocs
- $html_blocs .= sprintf(
- '<div class="col-sm-%d %s">
+ }
+ }
+
+ // Trois cas à gérer :
+ // 1- La sidebar existe et est positionnée à gauche :
+ // -> Récupère le code html de la sidebar et on insère ce code
+ // dans celui du contenu de la page, avant celui des blocs
+ // 2- La sidebar existe et est positionnée à droite :
+ // -> Récupère le code html de la sidebar et on insère ce code
+ // dans celui du contenu de la page, après celui des blocs
+ // 3- Il n'y a pas de sidebar :
+ // -> Le contenu de la page ne contiens que le code html des
+ // blocs
+ if (array_key_exists('sidebar', $blocs)) {
+ $html_sidebar = $this->get_html_liste_unite($blocs['sidebar']);
+ if ($blocs['sidebar']['position'] === 'gauche') {
+ $html_contenu .= sprintf(
+ '<div class="col-sm-%d sidebar-left">
%s
+ </div>
+ %s
</div>',
- $bloc['taille'],
- $html_offset,
- $html_bloc
+ $blocs['sidebar']['taille'],
+ $html_sidebar,
+ $html_blocs
);
+ } else {
+ $html_contenu .= sprintf(
+ '%s
+ <div class="col-sm-%d sidebar">
+ %s
+ </div>
+ </div>',
+ $html_blocs,
+ $blocs['sidebar']['taille'],
+ $html_sidebar
+ );
}
- }
- }
-
- // Trois cas à gérer :
- // 1- La sidebar existe et est positionnée à gauche :
- // -> Récupère le code html de la sidebar et on insère ce code
- // dans celui du contenu de la page, avant celui des blocs
- // 2- La sidebar existe et est positionnée à droite :
- // -> Récupère le code html de la sidebar et on insère ce code
- // dans celui du contenu de la page, après celui des blocs
- // 3- Il n'y a pas de sidebar :
- // -> Le contenu de la page ne contiens que le code html des
- // blocs
- if (array_key_exists('sidebar', $blocs)) {
- $html_sidebar = $this->get_html_liste_unite($blocs['sidebar']);
- if ($blocs['sidebar']['position'] === 'gauche') {
- $html_contenu .= sprintf(
- '<div class="col-sm-%d sidebar-left">
- %s
- </div>
- %s
- </div>',
- $blocs['sidebar']['taille'],
- $html_sidebar,
- $html_blocs
- );
} else {
- $html_contenu .= sprintf(
- '%s
- <div class="col-sm-%d sidebar">
- %s
- </div>
- </div>',
- $html_blocs,
- $blocs['sidebar']['taille'],
- $html_sidebar
- );
+ $html_contenu .= $html_blocs.'</div>';
}
- } else {
- $html_contenu .= $html_blocs.'</div>';
+
+ echo $html_contenu;
}
-
- echo $html_contenu;
}

/**
@@ -286,7 +290,8 @@
// sont définies comme cliquable dans le paramétrage, toutes les unités
// de la liste défile
$liste_entite = $this->get_liste_unite_defile();
- if (array_key_exists('sidebar', $params_blocs) &&
+ if (is_array($params_blocs) &&
+ array_key_exists('sidebar', $params_blocs) &&
array_key_exists('cliquable', $params_blocs['sidebar']) &&
$params_blocs['sidebar']['cliquable'] === 'oui') {
$unites = $params['unites'];
@@ -495,7 +500,7 @@
protected function get_html_resultat_unite($parametres) {
//Récupération de l'identifiant de l'unité
$unite = $_SESSION['b'];
- $resultats = $this->get_resultats_unite($unite);
+ $resultats = is_numeric($unite) ? $this->get_resultats_unite($unite) : null;
if (empty($resultats)) {
return;
}
@@ -1238,7 +1243,11 @@
* @return array $uniteResult : tableau des résultats
*/
protected function get_resultats_unite($unite) {
- return $this->resultats_unites[$unite];
+ $res = array();
+ if (array_key_exists($unite, $this->resultats_unites)) {
+ $res = $this->resultats_unites[$unite];
+ }
+ return $res;
}

/**
@@ -1410,7 +1419,7 @@

/**
* Setter du paramétrage des blocs de l'animation
- * @return void
+ * @return void|boolean
*/
protected function set_param_blocs() {
//par défaut aucun bloc n'est affiché
@@ -1421,6 +1430,9 @@
AFF_ELECTION_RESULTS_PATH.'animation_'.$this->identifier.'/blocs.ini',
true
);
+ if (! $paramBlocs) {
+ return false;
+ }
}

//Paramétrage par défaut :
@@ -1537,14 +1549,18 @@
//Pour chaque descendant, récupère son type et si il correspond
//au type voulu, on stocke l'id du descendant dans le tableau
//des résultats
- $enfantsOfWantedType = array();
+ $ordreUnites = array();
foreach ($descendants as $descendant) {
$infoUnite = $this->get_unite_infos($descendant);
if ($infoUnite['type'] === $type_voulu) {
- $enfantsOfWantedType[$infoUnite['code']] = $descendant;
+ $ordreUnites[$descendant] = $infoUnite['ordre'];
}
}
- ksort($enfantsOfWantedType);
+ // Tri les unités par ordre puis récupère uniquement les identifiants des unités
+ asort($ordreUnites);
+ $enfantsOfWantedType = ! empty(array_keys($ordreUnites)) ?
+ array_keys($ordreUnites) :
+ array();
return $enfantsOfWantedType;
}


Modified: branches/2.0.0-develop-import/app/css/app.css
===================================================================
--- branches/2.0.0-develop-import/app/css/app.css 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/app/css/app.css 2021-05-05 14:03:29 UTC (rev 1048)
@@ -97,6 +97,22 @@
}

/**
+ * MESSAGES
+ */
+.ui-state-highlight, .ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+ border: 1px solid #489d43;
+ background: #d1f2c4 url(images/ui-bg_glass_55_d1f2c4_1x400.png) 50% 50% repeat-x;
+ color: #326b29;
+}
+.ui-state-error, .ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #cd0a0a;
+ background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
+ color: #cd0a0a;
+}
+
+/**
* SEARCH
*/
#adv-search-submit,
@@ -164,10 +180,250 @@
height: 20px;
}

+
/**
+ * SETTINGS - Administration & Paramétrage
+ * > Le contenu est en pleine page
+ */
+body.mainrubrik-administration-parametrage #menu {
+ display: none;
+}
+body.mainrubrik-administration-parametrage #content,
+body.mainrubrik-administration-parametrage #footer {
+ margin: 5px;
+}
+
+#settings-live-search {
+ text-align: center;
+}
+#settings-live-search #filter {
+ height: 46px;
+ width: 300px;
+ padding: 0 11px;
+ margin-right: 48px;
+ font-size : 24px;
+}
+#settings-live-search div.filter-icon {
+ background: none;
+ border: none;
+ opacity: .54;
+ outline: none;
+ padding: 0 4px;
+ line-height: 0;
+}
+#settings .row {
+ column-width: 18em;
+ column-gap: 1em;
+ -moz-column-width: 18em;
+ -webkit-column-width: 18em;
+ -moz-column-gap: 1em;
+ -webkit-column-gap:1em;
+
+}
+#settings .item {
+ display: inline-block;
+ padding: .25rem;
+ width: 100%;
+}
+#settings .well {
+ position:relative;
+ display: block;
+}
+#settings .list-group-title {
+ color: #959595;
+ font-size: 12px;
+ font-weight: 700;
+ letter-spacing: 1px;
+ text-transform: uppercase;
+}
+
+.list-group {
+ padding-left: 0;
+ margin-bottom: 20px;
+}
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+ margin-bottom: -1px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+}
+.list-group-item:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+}
+.list-group-item:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+a.list-group-item {
+ color: #555;
+}
+a.list-group-item .list-group-item-heading {
+ color: #333;
+}
+a.list-group-item:hover,
+a.list-group-item:focus {
+ color: #555;
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.list-group-item.disabled,
+.list-group-item.disabled:hover,
+.list-group-item.disabled:focus {
+ color: #777;
+ cursor: not-allowed;
+ background-color: #eee;
+}
+.list-group-item.disabled .list-group-item-heading,
+.list-group-item.disabled:hover .list-group-item-heading,
+.list-group-item.disabled:focus .list-group-item-heading {
+ color: inherit;
+}
+.list-group-item.disabled .list-group-item-text,
+.list-group-item.disabled:hover .list-group-item-text,
+.list-group-item.disabled:focus .list-group-item-text {
+ color: #777;
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+ z-index: 2;
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #337ab7;
+}
+.list-group-item.active .list-group-item-heading,
+.list-group-item.active:hover .list-group-item-heading,
+.list-group-item.active:focus .list-group-item-heading,
+.list-group-item.active .list-group-item-heading > small,
+.list-group-item.active:hover .list-group-item-heading > small,
+.list-group-item.active:focus .list-group-item-heading > small,
+.list-group-item.active .list-group-item-heading > .small,
+.list-group-item.active:hover .list-group-item-heading > .small,
+.list-group-item.active:focus .list-group-item-heading > .small {
+ color: inherit;
+}
+.list-group-item.active .list-group-item-text,
+.list-group-item.active:hover .list-group-item-text,
+.list-group-item.active:focus .list-group-item-text {
+ color: #c7ddef;
+}
+.list-group-item-success {
+ color: #3c763d;
+ background-color: #dff0d8;
+}
+a.list-group-item-success {
+ color: #3c763d;
+}
+a.list-group-item-success .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-success:hover,
+a.list-group-item-success:focus {
+ color: #3c763d;
+ background-color: #d0e9c6;
+}
+a.list-group-item-success.active,
+a.list-group-item-success.active:hover,
+a.list-group-item-success.active:focus {
+ color: #fff;
+ background-color: #3c763d;
+ border-color: #3c763d;
+}
+.list-group-item-info {
+ color: #31708f;
+ background-color: #d9edf7;
+}
+a.list-group-item-info {
+ color: #31708f;
+}
+a.list-group-item-info .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-info:hover,
+a.list-group-item-info:focus {
+ color: #31708f;
+ background-color: #c4e3f3;
+}
+a.list-group-item-info.active,
+a.list-group-item-info.active:hover,
+a.list-group-item-info.active:focus {
+ color: #fff;
+ background-color: #31708f;
+ border-color: #31708f;
+}
+.list-group-item-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+}
+a.list-group-item-warning {
+ color: #8a6d3b;
+}
+a.list-group-item-warning .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-warning:hover,
+a.list-group-item-warning:focus {
+ color: #8a6d3b;
+ background-color: #faf2cc;
+}
+a.list-group-item-warning.active,
+a.list-group-item-warning.active:hover,
+a.list-group-item-warning.active:focus {
+ color: #fff;
+ background-color: #8a6d3b;
+ border-color: #8a6d3b;
+}
+.list-group-item-danger {
+ color: #a94442;
+ background-color: #f2dede;
+}
+a.list-group-item-danger {
+ color: #a94442;
+}
+a.list-group-item-danger .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-danger:hover,
+a.list-group-item-danger:focus {
+ color: #a94442;
+ background-color: #ebcccc;
+}
+a.list-group-item-danger.active,
+a.list-group-item-danger.active:hover,
+a.list-group-item-danger.active:focus {
+ color: #fff;
+ background-color: #a94442;
+ border-color: #a94442;
+}
+.list-group-item-heading {
+ margin-top: 0;
+ margin-bottom: 5px;
+}
+.list-group-item-text {
+ margin-bottom: 0;
+ line-height: 1.3;
+ text-align: justify;
+}
+
+
+/**
* MISC
*/
table.tab-tab tr.erreur-exprime td { background-color: #C1B6A0; }
table.tab-tab tr.creation_resultat td { background-color: #C1B6A0; }
.prefecture { background-image: url("../app/img/prefecture.png"); }
+tr.unite-perimetre td { background-color: #bec4d5; }
+.import-unites-16 { background-image: url("../img/insert-spreadsheet-black.svg"); background-size: 16px; }
+.add-16 { background-image: url("../img/add-plus-green.svg"); background-size: 16px; }
+.add-multiple-lien_unite-16,
+.add-multiple-delegation-16 {
+ background-image: url("../img/add-plus-circle-black.svg"); background-size: 8px; background-repeat: repeat;
+}
+.wait-election_unite-16 { background-image: url("../img/clock-time-blue.svg"); background-size: 16px; }
+.done-election_unite-16 { background-image: url("../img/check-green.svg"); background-size: 16px; }

+

Copied: branches/2.0.0-develop-import/app/img/add-plus-circle-black.svg (from rev 1047, branches/2.0.0-develop/app/img/add-plus-circle-black.svg)
===================================================================
--- branches/2.0.0-develop-import/app/img/add-plus-circle-black.svg (rev 0)
+++ branches/2.0.0-develop-import/app/img/add-plus-circle-black.svg 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<g>
+ <g>
+ <g>
+ <path d="M256,0C114.618,0,0,114.618,0,256s114.618,256,256,256s256-114.618,256-256S397.382,0,256,0z M256,469.333
+ c-117.818,0-213.333-95.515-213.333-213.333S138.182,42.667,256,42.667S469.333,138.182,469.333,256S373.818,469.333,256,469.333
+ z"/>
+ <path d="M383.996,234.667H277.333V128c0-11.782-9.551-21.333-21.333-21.333s-21.333,9.551-21.333,21.333v106.667H128.038
+ c-11.782,0-21.333,9.551-21.333,21.333s9.551,21.333,21.333,21.333h106.628V384c0,11.782,9.551,21.333,21.333,21.333
+ s21.333-9.551,21.333-21.333V277.333h106.662c11.782,0,21.333-9.551,21.333-21.333S395.778,234.667,383.996,234.667z"/>
+ </g>
+ </g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+</svg>

Copied: branches/2.0.0-develop-import/app/img/add-plus-green.svg (from rev 1047, branches/2.0.0-develop/app/img/add-plus-green.svg)
===================================================================
--- branches/2.0.0-develop-import/app/img/add-plus-green.svg (rev 0)
+++ branches/2.0.0-develop-import/app/img/add-plus-green.svg 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<polygon style="fill:#43B05C;" points="303.08,208.92 303.08,8.828 256,8.828 208.92,8.828 208.92,208.92 8.828,208.92
+ 8.828,303.08 208.92,303.08 208.92,503.172 256,503.172 303.08,503.172 303.08,303.08 503.172,303.08 503.172,208.92 "/>
+<polygon style="fill:#00A65D;" points="208.92,8.828 208.92,208.92 8.828,208.92 8.828,303.08 208.92,303.08 208.92,503.172
+ 256,503.172 256,8.828 "/>
+<path d="M311.908,512H200.092V311.908H0V200.092h200.092V0h111.816v200.092H512v111.816H311.908V512z M217.747,494.345h76.506
+ V294.253h200.092v-76.506H294.253V17.655h-76.506v200.092H17.655v76.506h200.092V494.345z"/>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+</svg>

Copied: branches/2.0.0-develop-import/app/img/check-green.svg (from rev 1047, branches/2.0.0-develop/app/img/check-green.svg)
===================================================================
--- branches/2.0.0-develop-import/app/img/check-green.svg (rev 0)
+++ branches/2.0.0-develop-import/app/img/check-green.svg 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path style="fill:#A5EB78;" d="M433.139,67.108L201.294,298.953c-6.249,6.249-16.381,6.249-22.63,0L78.861,199.15L0,278.011
+ l150.547,150.549c10.458,10.458,24.642,16.333,39.431,16.333l0,0c14.788,0,28.973-5.876,39.43-16.333L512,145.968L433.139,67.108z"
+ />
+<g style="opacity:0.1;">
+ <path d="M485.921,119.888L187.59,418.22c-8.254,8.253-18.633,13.882-29.847,16.391c9.363,6.635,20.608,10.28,32.235,10.28l0,0
+ c14.788,0,28.973-5.876,39.43-16.333L512,145.966L485.921,119.888z"/>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+</svg>

Copied: branches/2.0.0-develop-import/app/img/clock-time-blue.svg (from rev 1047, branches/2.0.0-develop/app/img/clock-time-blue.svg)
===================================================================
--- branches/2.0.0-develop-import/app/img/clock-time-blue.svg (rev 0)
+++ branches/2.0.0-develop-import/app/img/clock-time-blue.svg 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 511.994 511.994" style="enable-background:new 0 0 511.994 511.994;" xml:space="preserve">
+<circle style="fill:#7DD2F0;" cx="255.997" cy="255.997" r="255.997"/>
+<path style="opacity:0.1;enable-background:new ;" d="M23.403,279.403c0-141.384,114.615-255.999,255.999-255.999
+ c64.737,0,123.85,24.041,168.931,63.666C401.417,33.696,332.648,0,255.999,0C114.615,0,0,114.615,0,255.999
+ c0,76.648,33.696,145.418,87.07,192.334C47.444,403.254,23.403,344.14,23.403,279.403z"/>
+<path style="fill:#FFFFFF;" d="M255.999,447.641c-105.671,0-191.64-85.97-191.64-191.641s85.97-191.64,191.64-191.64
+ s191.64,85.97,191.64,191.64S361.671,447.641,255.999,447.641z"/>
+<path style="opacity:0.1;enable-background:new ;" d="M87.762,279.403c0-105.671,85.97-191.64,191.64-191.64
+ c46.891,0,89.893,16.938,123.235,45.003c-35.182-41.797-87.857-68.407-146.638-68.407c-105.671,0-191.64,85.97-191.64,191.64
+ c0,58.781,26.61,111.456,68.407,146.638C104.701,369.296,87.762,326.294,87.762,279.403z"/>
+<g>
+ <path style="fill:#515262;" d="M255.999,64.359c-2.942,0-5.866,0.077-8.776,0.209v51.096c0,4.847,3.928,8.776,8.776,8.776
+ c4.848,0,8.776-3.929,8.776-8.776V64.569C261.867,64.436,258.942,64.359,255.999,64.359z"/>
+ <path style="fill:#515262;" d="M385.097,114.491l-36.072,36.07c-3.427,3.427-3.427,8.985,0,12.411
+ c1.714,1.714,3.96,2.571,6.207,2.571c2.246,0,4.492-0.857,6.207-2.571l36.07-36.07C393.562,122.579,389.42,118.438,385.097,114.491
+ z"/>
+ <path style="fill:#515262;" d="M447.431,247.223h-51.095c-4.848,0-8.776,3.929-8.776,8.776s3.928,8.776,8.776,8.776h51.095
+ c0.132-2.91,0.209-5.834,0.209-8.776C447.641,253.058,447.564,250.133,447.431,247.223z"/>
+ <path style="fill:#515262;" d="M397.509,385.097l-36.07-36.07c-3.429-3.427-8.985-3.427-12.412,0s-3.427,8.985,0,12.411
+ l36.072,36.07C389.42,393.562,393.562,389.42,397.509,385.097z"/>
+ <path style="fill:#515262;" d="M255.999,387.56c-4.848,0-8.776,3.929-8.776,8.776v51.096c2.91,0.132,5.834,0.209,8.776,0.209
+ c2.942,0,5.866-0.077,8.776-0.209v-51.096C264.776,391.488,260.847,387.56,255.999,387.56z"/>
+ <path style="fill:#515262;" d="M150.562,349.026l-36.07,36.07c3.947,4.323,8.089,8.465,12.412,12.412l36.072-36.07
+ c3.427-3.427,3.427-8.985,0-12.411C159.547,345.599,153.991,345.599,150.562,349.026z"/>
+ <path style="fill:#515262;" d="M115.664,247.223H64.569c-0.132,2.91-0.209,5.834-0.209,8.776c0,2.942,0.077,5.866,0.209,8.776
+ h51.095c4.848,0,8.776-3.929,8.776-8.776S120.511,247.223,115.664,247.223z"/>
+ <path style="fill:#515262;" d="M114.491,126.902l36.07,36.07c1.714,1.713,3.961,2.571,6.207,2.571c2.246,0,4.492-0.857,6.207-2.571
+ c3.427-3.427,3.427-8.985,0-12.411l-36.072-36.07C122.579,118.438,118.438,122.579,114.491,126.902z"/>
+ <path style="fill:#515262;" d="M303.437,320.988c-4.492,0-8.985-1.714-12.411-5.142L243.59,268.41
+ c-3.292-3.292-5.142-7.756-5.142-12.411v-88.358c0-9.694,7.859-17.552,17.552-17.552c9.694,0,17.552,7.859,17.552,17.552v81.087
+ l42.296,42.296c6.855,6.854,6.855,17.968,0,24.823C312.42,319.275,307.928,320.988,303.437,320.988z"/>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+</svg>

Copied: branches/2.0.0-develop-import/app/img/insert-spreadsheet-black.svg (from rev 1047, branches/2.0.0-develop/app/img/insert-spreadsheet-black.svg)
===================================================================
--- branches/2.0.0-develop-import/app/img/insert-spreadsheet-black.svg (rev 0)
+++ branches/2.0.0-develop-import/app/img/insert-spreadsheet-black.svg 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="445.553px" height="445.553px" viewBox="0 0 445.553 445.553" style="enable-background:new 0 0 445.553 445.553;"
+ xml:space="preserve">
+<g>
+ <path d="M430.291,6.125H207.282c-8.414,0-15.26,6.846-15.26,15.26v82.756H17.586C7.873,104.141,0,112.014,0,121.725v300.117
+ c0,9.713,7.873,17.586,17.586,17.586h300.117c9.711,0,17.584-7.873,17.584-17.586V236.783h95.004
+ c8.414,0,15.262-6.846,15.262-15.26V21.384C445.553,12.97,438.705,6.125,430.291,6.125z M222.542,93.568h80.144v41.09h-80.144
+ V93.568z M222.542,165.177h80.144v41.088h-80.144V165.177z M300.117,404.258H35.17V139.31h156.853v77.732l-48.642,48.644
+ l-18.91-18.91c-1.9-1.9-4.668-2.642-7.262-1.945c-2.594,0.693-4.621,2.721-5.314,5.316l-25.512,95.227
+ c-0.693,2.594,0.047,5.361,1.945,7.26c1.43,1.43,3.35,2.203,5.316,2.203c0.648,0,1.303-0.084,1.945-0.258l95.227-25.508
+ c2.596-0.695,4.621-2.724,5.316-5.316c0.695-2.594-0.047-5.361-1.945-7.262l-18.911-18.912l60.798-60.797h64.043V404.258z
+ M415.033,206.265h-80.145v-41.088h80.145V206.265z M415.033,134.658h-80.145v-41.09h80.145V134.658z"/>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+</svg>

Deleted: branches/2.0.0-develop-import/app/import_specific.php
===================================================================
--- branches/2.0.0-develop-import/app/import_specific.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/app/import_specific.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,23 +0,0 @@
-<?php
-/**
- * Ce script permet d'interfacer le traitement d'import de données dans la base
- * de données à partir de fichiers CSV.
- *
- * @package openmairie_exemple
- * @version SVN : $Id: import_specific.php 4806 2015-06-04 09:57:44Z nhaye $
- */
-
-//
-require_once "../obj/openresultat.class.php";
-$f = new openresultat(
- "nohtml",
- "import",
- __("administration")." -> ".__("Import spécifique")
-);
-
-require_once "../obj/import_specific.class.php";
-$i = new import_specific();
-
-$i->view_import();
-
-?>
\ No newline at end of file

Modified: branches/2.0.0-develop-import/app/js/script.js
===================================================================
--- branches/2.0.0-develop-import/app/js/script.js 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/app/js/script.js 2021-05-05 14:03:29 UTC (rev 1048)
@@ -138,7 +138,30 @@
});
}

+/**
+* Cette fonction permet d'afficher le champ code_unite comme obligatoire
+* selon le type d'unité
+*
+* @param integer champ Champ visé
+*/
+function obligatoireSelonType(typeUnite) {
+ // lien script php
+ var link = "../app/index.php?module=form&obj=unite&action=10&type_unite=" + typeUnite

+ $.ajax({
+ type: "GET",
+ url: link,
+ cache: false,
+ dataType: "json",
+ success: function(res) {
+ if ("libelle" in res) {
+ $('#lib-code_unite').text(res['libelle']);
+ }
+ },
+ async: false
+ });
+}
+
// Sur l'événement "change" du champ "dossier_coordination_type"
function recuperer_perimetre(selected) {
// lien script php
@@ -164,71 +187,6 @@
}

/**
- * Cette fonction permet d'affichant les champs de code si l'unité à
- * un comportement de bureau de vote (is_bureau = true).
- * Si ce n'est pas le cas les champs ne sont pas affichés et leur valeur
- * sont réinitialisées.
- *
- * Les champs de code sont :
- * - canton
- * - circonscription
- * - commune
- * - departement
- * - code_bureau_vote
- *
- * @param {*} typeUniteId
- */
-function comportement_bureau(typeUniteId) {
- // lien script php
- var link = "../app/index.php?module=form&" +
- "obj=unite&action=8&idx=0&type_unite=" + typeUniteId;
- //
- $.ajax({
- type: "GET",
- url: link,
- cache: false,
- dataType: "json",
- success: function(json){
- $('#code_bureau_vote').empty();
- //liste des champs à afficher/masquer
- var champs = ['canton', 'circonscription', 'commune', 'departement'];
- //si le json existe, contiens la clé 'is_bureau' et que is_bureau est vrai
- //alors on affiche les champs de la liste et le champ code_bureau_vote.
- //Sinon les champs ne sont pas affichés et leur valeur sont réinitialisées
- if((json && json['is_bureau'] != undefined && json['is_bureau'])) {
- //permet d'écrire dans le champ code_bureau_vote
- $('#code_bureau_vote').removeAttr('disabled', 'disabled');
- for (champ of champs) {
- $('#' + champ).attr('style', 'display');
- }
- } else {
- $('#code_bureau_vote').attr('value', '');
- $('#code_bureau_vote').attr('disabled', 'disabled');
- //reinitialisation de la valeur des champs (plus d'option selectionnée)
- //et ils ne sont plus affichés
- for (champ of champs) {
- $('#' + champ + ' option[selected]').removeAttr('selected');
- $('#' + champ + ' option[value=""]').attr('selected', 'selected');
- $('#' + champ).attr("style", "display:none");
- }
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {
- //Si il y a une erreur les champs sont réinitialisés et ne sont plus affiché
- var champs = ['canton', 'circonscription', 'commune', 'departement'];
- for (champ of champs) {
- $('#' + champ + ' option[selected]').removeAttr('selected');
- $('#' + champ + ' option[value=""]').attr('selected', 'selected');
- $('#' + champ).attr("style", "display:none");
- }
- $('#code_bureau_vote').attr('value', '');
- $('#code_bureau_vote').attr('disabled', 'disabled');
- },
- async: false
- });
-}
-
-/**
* Calcul et met à jour la valeur des champs correspondant aux périmètres.
* Récupère un tableau json de cette forme :
* [indice_champ_parent] = [indice_champ_enfant1, ..., indice_champ_enfant_n]
@@ -333,77 +291,95 @@
$('input.hexa').not('[disabled="disabled"]').miniColors({});
}

-
/**
- * Récupère un json contenant :
- * - l'uid du plan
- * Remplit l'input du champ "visualisation" avec cette valeurs
- * En cas d'erreur de récupération des données, la valeur du champs est
- * nulle
- *
- * @param integer
+ * Les fonctions suivantes sont similaires aux fonctions qui permettent de gérer
+ * la localisation dans les formulaires de paramétrage des éditions du framework
+ * mais modifiées pour coller au besoin de la localisation sur plan
+ * d'opencimetiere.
*/
-function setPlanValue(plan) {
- // lien script php
- var link = "../app/index.php?module=form&obj=plan_unite&action=10&plan="
- + plan

- $.ajax({
- type: "GET",
- url: link,
- cache: false,
- dataType: "json",
- success: function(res){
- if (res && res['uid'] != undefined) {
- $('#previsualisation').val(res['uid']);
- }
- },
- error: function(jqXHR, textStatus, errorThrown) {
- $('#previsualisation').val('');
- },
- async: false
- });
+
+$(function() {
+ localisation_plan_bind_draggable();
+});
+
+function localisation_plan_bind_draggable() {
+ $("#plan-draggable").draggable({ containment: "parent" });
+ $("#plan-draggable").dblclick(function() {
+ infos = $(this).attr("class");
+ infos = infos.split(" ");
+ infos = infos[0].split(";");
+ // on enlève un à l'abscisse et à l'ordonnée pour la bordure de l'image
+ // qui décale d'un pixel
+ position = $(this).position();
+ x = parseInt(position.left);
+ y = parseInt(position.top);
+ localisation_plan_return(infos[0], infos[1], (x-1), infos[2], (y-1));
+ return true;
+ });
}
+
+// Cette fonction permet de retourner les informations sur le fichier téléchargé
+// du formulaire d'upload vers le formulaire d'origine
+function localisation_plan_return(form, champ_x, value_x, champ_y, value_y) {
+ $("form[name|="+form+"] #"+champ_x, window.opener.document).attr('value', value_x);
+ $("form[name|="+form+"] #"+champ_y, window.opener.document).attr('value', value_y);
+ window.close();
+}

+//
+function localisation_plan(champ, chplan, positionx) {
+ //
+ if (fenetreouverte == true) {
+ pfenetre.close();
+ }
+ //
+ var plan = document.f1.elements[chplan].value;
+ var x = document.f1.elements[positionx].value;
+ var y = document.f1.elements[champ].value;
+ //
+ if (plan == "") {
+ //
+ alert("Vous devez d'abord selectionner un plan pour pouvoir localiser l'emplacement.");
+ } else {
+ //
+ link = "../app/localisation_plan_edit.php?positiony="+champ+"&positionx="+positionx+"&plan="+plan+"&form=f1"+"&x="+x+"&y="+y+"#draggable";
+ //
+ pfenetre = window.open(link,"localisation","toolbar=no,scrollbars=yes,width="+screen.availWidth+",height="+screen.availHeight+",top=0,left=0");
+ //
+ fenetreouverte = true;
+ }
+}
+
/**
- * Crée et affiche la fenêtre modale liée au champ passé en paramètre.
- * La mise en page de la fenêtre est faite par le snippet-plan.
- *
- * L'affichage de la fenêtre modale dépend de la récupèration de l'uid
- * du plan. Si l'uid n'a pas été récupéré la fenêtre ne s'affiche pas.
- * Les positions en x et y sont également nécessaires pour réaliser l'affichage.
- *
- * @param string champ
- * @param integer posXUnite
- * @param integer posYUnite
+ * Gère le comportement de la page settings (administration et paramétrage) :
+ * - autofocus sur le champ de recherche
+ * - comportement du livesearch
*/
-function plan(champ, posXUnite, posYUnite) {
- //lien vers le snippet
- form_snippet_plan_href_base = $("span.form-snippet-plan").attr('data-href');
- champ = (champ) ? champ : '';
- // Récupération de l'uid du fichier et des coordonnées de l'élement à afficher
- var uid = $('#' + champ).val();
- // Si les positions x et y ne sont pas fournies, elles sont récupérées depuis
- // le formulaire
- if (posXUnite == '') {
- posXUnite = $('#position_x').val();
- }
- if (posYUnite == '') {
- posYUnite = $('#position_y').val();
- }
+ function handle_settings_page() {
+ // Auto focus sur le champ de recherche au chargement de la page
+ $('#settings-live-search #filter').focus();
+ // Live search dans le contenu de la page settings
+ $("#settings-live-search #filter").keyup(function(){
+ var filter = $(this).val(), count = 0;
+ $("div.list-group a").each(function(){
+ if ($(this).text().search(new RegExp(filter, "i")) < 0) {
+ $(this).hide();
+ } else {
+ $(this).show();
+ count++;
+ }
+ });
+ });
+}

- //Si l'uid a bien été récupéré la fenetre modal est affichée
- if (uid != '') {
- //lien de base vers plan.php
- //Le passage de l'uid dans l'urk permet de récupérer l'image
- //dans le snippet du plan. Le passage des positions en x et y
- //est nécessaire pour l'affichage de l'unité sur le plan/l'image
- link = form_snippet_plan_href_base
- + "&fic=" + uid
- + "&x=" + posXUnite
- + "&y=" + posYUnite;
+/**
+ *
+ */
+$(function(){
+ /**
+ * Gère le comportement de la page settings (administration et paramétrage).
+ */
+ handle_settings_page();
+});

- //Affiche la fenètre modal
- load_form_in_modal(link);
- }
-}

Copied: branches/2.0.0-develop-import/app/localisation_plan_edit.php (from rev 1047, branches/2.0.0-develop/app/localisation_plan_edit.php)
===================================================================
--- branches/2.0.0-develop-import/app/localisation_plan_edit.php (rev 0)
+++ branches/2.0.0-develop-import/app/localisation_plan_edit.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,118 @@
+<?php
+/**
+ * Ce script permet de ...
+ *
+ * @package openresultat
+ * @version SVN : $Id$
+ */
+
+require_once "../obj/openresultat.class.php";
+$f = new openresultat("nohtml");
+
+/**
+ * Initialisation des parametres
+ */
+//
+(isset($_GET['plan']) ? $plan = $_GET['plan'] : $plan = "");
+//
+(isset($_GET['positionx']) ? $positionx = $_GET['positionx'] : $positionx = "");
+//
+(isset($_GET['positiony']) ? $positiony = $_GET['positiony'] : $positiony = "");
+//
+(isset($_GET['x']) ? $x = $_GET['x'] : $x = 0);
+//
+(isset($_GET['y']) ? $y = $_GET['y'] : $y = 0);
+//
+(isset($_GET['form']) ? $form = $_GET['form'] : $form = 'f1');
+
+/**
+ *
+ */
+//
+require_once "../obj/plan.class.php";
+$plan = new plan($plan, $f->db, NULL);
+//
+$imageplan = $f->storage->getPath($plan->getVal("image_plan"));
+
+/**
+ * Verification des parametres
+ */
+if ($plan == ""
+ or $positionx == ""
+ or $positiony == ""
+ or !file_exists($imageplan)) {
+ //
+ if ($f->isAjaxRequest() == false) {
+ $f->setFlag(NULL);
+ $f->display();
+ }
+ $class = "error";
+ $message = __("L'objet est invalide.");
+ $f->displayMessage($class, $message);
+ die();
+}
+
+
+/**
+ * Affichage de la structure HTML
+ */
+if ($f->isAjaxRequest()) {
+ header("Content-type: text/html; charset=".HTTPCHARSET."");
+} else {
+ //
+ $f->setFlag("htmlonly");
+ $f->display();
+}
+//
+$f->displayStartContent();
+//
+$f->setTitle(__("Localisation"));
+$f->displayTitle();
+
+/**
+ *
+ */
+//
+$f->displayLinkJsCloseWindow();
+
+/**
+ *
+ */
+//
+$size = getimagesize($imageplan);
+//
+echo "<div";
+echo " id=\"localisation-wrapper\"";
+echo " style=\"";
+//
+echo "border: 1px solid #cdcdcd; ";
+echo "position:relative; ";
+echo "width:".$size[0]."px; ";
+echo "height:".$size[1]."px; ";
+echo "background-image: url('".OM_ROUTE_FORM."&snippet=file&obj=plan&champ=image_plan&id=".$plan->getVal('plan')."'); ";
+//
+echo "\"";
+echo ">\n";
+//
+echo "<img";
+echo " id=\"plan-draggable\"";
+echo " class=\"".$form.";".$positionx.";".$positiony.";\"";
+echo " src=\"../app/img/img_unite_arrivee.gif\"";
+echo " style=\"position:absolute; margin:0; padding:0; left:".($x)."px; top:".($y)."px; cursor: pointer;\"";
+echo " />";
+//
+echo "\n</div>\n";
+//
+echo "<div class=\"visualClear\"><!-- --></div>\n";
+
+/**
+ *
+ */
+//
+$f->displayLinkJsCloseWindow();
+
+/**
+ *
+ */
+//
+$f->displayEndContent();

Copied: branches/2.0.0-develop-import/app/localisation_plan_view.php (from rev 1047, branches/2.0.0-develop/app/localisation_plan_view.php)
===================================================================
--- branches/2.0.0-develop-import/app/localisation_plan_view.php (rev 0)
+++ branches/2.0.0-develop-import/app/localisation_plan_view.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,264 @@
+<?php
+/**
+ * Ce script permet de ...
+ *
+ * @package opencimetiere
+ * @version SVN : $Id$
+ */
+
+require_once "../obj/openresultat.class.php";
+$f = new openresultat("nohtml");
+
+// Cette fonction permet de calculer le lien retour en fonction des paramètres
+// récupérés en $_GET.
+function calculate_back_link($get, $emplacements) {
+ //
+ if (isset($get["retour"]) && $get["retour"] == "tab") {
+ //
+ $link = OM_ROUTE_TAB;
+ $link .= "&";
+ //
+ if (isset($get["specific_origin"])) {
+ $get["obj"] = $get["specific_origin"];
+ }
+ //
+ foreach ($get as $key => $value) {
+ $link .= "&amp;".$key."=".$value;
+ }
+ } elseif (isset($get["retour"]) && $get["retour"] == "form" && isset($emplacements[0])) {
+ //
+ $emplacement = $emplacements[0];
+ //
+ $link = OM_ROUTE_FORM;
+ $link .= "&";
+ //
+ $link .= "obj=plan_unite&amp;idx=".$emplacement['plan_unite']."&amp;action=3";
+ } else {
+ //
+ $link = OM_ROUTE_DASHBOARD;
+ }
+ //
+ return $link;
+}
+
+// Cette fonction permet d'afficher le bouton retour
+function display_button_back($link = "") {
+ //
+ echo "<div class=\"formControls\">\n";
+ //
+ echo "<a class=\"retour\" ";
+ echo "href=\"";
+ //
+ echo $link;
+ //
+ echo "\"";
+ echo ">";
+ //
+ echo __("Retour");
+ //
+ echo "</a>\n";
+ //
+ echo "</div>\n";
+}
+
+//
+$emplacements = array();
+
+//
+$mode = 0;
+
+// MODE 1 - Visualisation d'un seul objet sur le plan
+//
+$obj = "";
+if (isset($_GET['obj'])) {
+ $obj = $_GET['obj'];
+}
+//
+$idx = "";
+if (isset($_GET['idx'])) {
+ $idx = $_GET['idx'];
+}
+//
+if ($obj != "" && $idx != "") {
+ $mode = 1;
+}
+//
+if ($mode == 1 && (strpos($obj, "/") !== false
+ || !file_exists("../obj/".$obj.".class.php"))) {
+ $class = "error";
+ $message = __("L'objet est invalide.");
+ $f->addToMessage($class, $message);
+ $f->setFlag(NULL);
+ $f->display();
+ die();
+}
+
+// MODE 2 - Visualisation de tous les objets sur le plan
+//
+$idPlan = "";
+if (isset($_GET['plan'])) {
+ $idPlan = $_GET['plan'];
+}
+
+//
+if ($mode == 0 && $idPlan != "") {
+ $mode = 2;
+}
+
+//
+if ($mode == 1) {
+ //
+ require "../obj/plan_unite.class.php";
+ $emplacement = new plan_unite($idx, $f->db, 0);
+ //
+ $idPlan = $emplacement->getVal("plan");
+ //
+ $emplacements[] = array(
+ "plan_unite" => $emplacement->getVal("plan_unite"),
+ "position_x" => $emplacement->getVal("position_x"),
+ "position_y" => $emplacement->getVal("position_y"),
+ "img_unite_arrivee" => $emplacement->getVal("img_unite_arrivee"),
+ "largeur" => $emplacement->getVal("largeur_icone")
+ );
+}
+
+//
+if ($mode == 2) {
+ //
+ $sql = sprintf(
+ "select
+ plan_unite,
+ position_x,
+ position_y,
+ img_unite_arrivee,
+ largeur_icone
+ from
+ ".DB_PREFIXE."plan_unite
+ where
+ plan = %d",
+ $idPlan
+ );
+
+ $res = $f->db->query($sql);
+ $f->addToLog("visualisationplan.php: db->query(\"".$sql."\");", VERBOSE_MODE);
+ $f->isDatabaseError($res);
+ while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
+ $emplacements[] = $row;
+ }
+}
+
+//
+require_once "../obj/plan.class.php";
+$plan = new plan($idPlan, $f->db, NULL);
+//
+$imageplan = $f->storage->getPath($plan->getVal("image_plan"));
+
+//
+if (!file_exists($imageplan)) {
+ $class = "error";
+ $message = __("L'objet est invalide car il n y a pas de plan selectionné pour cet enregistrement.");
+ $f->addToMessage($class, $message);
+ $f->setFlag(NULL);
+ $f->display();
+ die();
+}
+
+//
+$sql = "select libelle from ".DB_PREFIXE."plan where plan='".$idPlan."'";
+$plan_libelle = $f->db->getone($sql);
+$f->addToLog("app/widget_localisation.php: db->getone(\"".$sql."\");", VERBOSE_MODE);
+$f->isDatabaseError($plan_libelle);
+
+//
+$html_body = "<body class=\"localisation\">";
+$f->setHTMLBody($html_body);
+
+//
+$f->setFlag("htmlonly");
+$f->display();
+
+//
+$f->displayStartContent();
+//
+$f->setTitle(__("Localisation")." -> ".$plan_libelle." (".$plan->getVal('plan').")");
+$f->displayTitle();
+
+/**
+ *
+ */
+//
+display_button_back(calculate_back_link($_GET, $emplacements));
+
+/**
+ *
+ */
+//
+$size = getimagesize($imageplan);
+//
+echo "<div";
+echo " id=\"localisation-wrapper\"";
+echo " style=\"";
+//
+echo "border: 1px solid #cdcdcd; ";
+echo "position:relative; ";
+echo "width:".$size[0]."px; ";
+echo "height:".$size[1]."px; ";
+echo "background-image: url('".OM_ROUTE_FORM."&snippet=file&obj=plan&champ=image_plan&id=".$plan->getVal('plan')."'); ";
+//
+echo "\"";
+echo ">\n";
+//
+
+//
+require_once "../obj/plan.class.php";
+
+foreach($emplacements as $i => $emplacement) {
+ $planUnite = new plan_unite($emplacement['plan_unite'], $f->db, NULL);
+ //
+ $icone = $f->storage->getPath($planUnite->getVal("img_unite_arrivee"));
+ $urlIcone = OM_ROUTE_FORM."&snippet=file&obj=plan_unite&champ=img_unite_arrivee&id=".$emplacement['plan_unite'];
+ if (!file_exists($icone)) {
+ $icone = $f->storage->getPath($plan->getVal("img_unite_arrivee"));
+ $urlIcone = OM_ROUTE_FORM."&snippet=file&obj=plan&champ=img_unite_arrivee&id=".$plan->getVal('plan');
+ if (!file_exists($icone)) {
+ $urlIcone = '../app/img/img_unite_arrivee.gif';
+ }
+ }
+ //
+ echo "<div id=\"camap".$i."\"";
+ echo " style=\"";
+ echo "position:absolute; ";
+ echo "left:".($emplacement['position_x'])."px;";
+ echo "top:".($emplacement['position_y'])."px;";
+ echo "\">\n";
+ //
+ echo "\t<a href=\"".OM_ROUTE_FORM."&obj=plan_unite&amp;idx=".$emplacement['plan_unite']."&amp;action=3\">";
+ //
+ echo "<img name='image$i'";
+ echo "src='".$urlIcone."' ";
+ //
+ if (! empty($emplacement['largeur'])) {
+ echo " style='width:".($emplacement['largeur'])."px;' ";
+ }
+ echo "title=\"".$emplacement['plan_unite']."\" alt=\".\" />";
+ //
+ echo "</a>\n";
+ //
+ echo "</div>\n";
+}
+//
+echo "\n</div>\n";
+//
+echo "<div class=\"visualClear\"><!-- --></div>\n";
+
+/**
+ *
+ */
+//
+display_button_back(calculate_back_link($_GET, $emplacements));
+
+/**
+ *
+ */
+//
+$f->displayEndContent();
\ No newline at end of file

Modified: branches/2.0.0-develop-import/app/unite.php
===================================================================
--- branches/2.0.0-develop-import/app/unite.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/app/unite.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -4,72 +4,83 @@
*/
// INITIALISATION DES VARIABLES
$DEBUG = 0;
-$existe=0;
-if(isset($_GET['idx']))
+$existe = false;
+$election = false;
+$idx="";
+$menu=0;
+if (isset($_GET['idx'])) {
$idx=$_GET['idx'];
-else
- $idx="";
-if(isset($_GET['menu']))
+}
+if (isset($_GET['menu'])) {
$menu=$_GET['menu'];
-else
- $menu=0;
+}

// utils
require_once "../obj/openresultat.class.php";
-if($menu==1)
+if ($menu==1) {
$f = new openresultat(NULL, "unite", _("unite"), "ico_famille.png", "unite");
-else{ // sans menu
- $f = new openresultat('nohtml', "unite", _("unite"), "ico_famille.png", "unite");
- $f->setFlag("htmlonly");
+} else { // sans menu
+ $f = new openresultat('nohtml', "unite", _("unite"), "ico_famille.png", "unite");
+ $f->setFlag("htmlonly");
}
$f->display();
-if($menu==0) // html only
+if ($menu==0) {// html only
$f->displayStartContent();
-// db
+}// db

-$sql= "select * from ".DB_PREFIXE."election where principal is true and cloture is false";
+$sql= "select *
+ from
+ ".DB_PREFIXE."election
+ where
+ workflow LIKE 'Simulation' OR
+ workflow LIKE 'Saisie' OR
+ workflow LIKE 'Finalisation'";
$res=$f->db->query($sql);
$f->isDatabaseError($res);

-while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
- $existe=1;
+while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
+ $election = true;
// election_unite
$sql= "select candidat.libelle as candidat, election_resultat.resultat,election_unite.exprime as exprime, ";
$sql .= " election_unite.votant as votant,election_unite.nul as nul,election_unite.blanc as blanc,election_unite.inscrit as inscrit ";
$sql .= " from ".DB_PREFIXE."election_resultat ";
$sql .= " left join ".DB_PREFIXE."election_unite on election_unite.election_unite=election_resultat.election_unite ";
- $sql .= " left join ".DB_PREFIXE."election_candidat on election_candidat.election_candidat=election_resultat.election_candidat ";
- $sql .= " inner join ".DB_PREFIXE."candidat on election_candidat.candidat=candidat.candidat ";
- $sql .= " where election_unite.election =".$row['election'];
- $sql .= " and election_unite.unite =".$idx;
+ $sql .= " left join ".DB_PREFIXE."election_candidat on election_candidat.election_candidat=election_resultat.election_candidat ";
+ $sql .= " inner join ".DB_PREFIXE."candidat on election_candidat.candidat=candidat.candidat ";
+ $sql .= " where election_unite.election =".$row['election'];
+ $sql .= " and election_unite.unite =".$idx;
$res1=$f->db->query($sql);
$f->isDatabaseError($res1);
- echo "<fieldset class=\"cadre ui-corner-all ui-widget-content collapsible\">\n";
- echo "\t<legend class=\"ui-corner-all ui-widget-content ui-state-active\">";
- echo "".$row['libelle']." "._('tour').' '.$row['tour']."</legend>";

- $i=0;
- while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){
- $i++;
- if($i==1){
- $exprime= $row1 ['exprime'];
- echo "<b> "._("inscrit")." : ".$row1 ['inscrit']." ";
- echo " - "._("votant")." : ".$row1 ['votant']." ";
- echo " - "._("nul")." : ".$row1 ['nul']." ";
- echo " - "._("blanc")." : ".$row1 ['blanc']." ";
- echo " - "._("exprime")." : ".$exprime."<br><br></b>";
- echo "<table width='95%' border =1>";
- echo "<tr><td><b>"._("Candidat")."</b></td><td><b>".
- _("resultat")."</b></td><td align='right'><b>"._("taux").
- "</b></td><tr>";
- }
+ $i=0;
+ while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)) {
+ $existe = true;
+ $i++;
+ if ($i==1) {
+ echo "<fieldset class=\"cadre ui-corner-all ui-widget-content collapsible\">\n";
+ echo "\t<legend class=\"ui-corner-all ui-widget-content ui-state-active\">";
+ echo "".$row['libelle']." "._('tour').' '.$row['tour']." "._('étape').' '.$row['workflow']."</legend>";
+ $exprime = $row1 ['exprime'];
+ echo "<b> "._("inscrit")." : ".$row1 ['inscrit']." ";
+ echo " - "._("votant")." : ".$row1 ['votant']." ";
+ echo " - "._("nul")." : ".$row1 ['nul']." ";
+ echo " - "._("blanc")." : ".$row1 ['blanc']." ";
+ echo " - "._("exprime")." : ".$exprime."<br><br></b>";
+ echo "<table width='95%' border =1>";
+ echo "<tr><td><b>"._("Candidat")."</b></td><td><b>".
+ _("resultat")."</b></td><td align='right'><b>"._("taux").
+ "</b></td><tr>";
+ }
echo "<tr>";
echo "<td>".$row1['candidat']."</td>";
echo "<td align='right'>".$row1['resultat']."</td>";
- if($exprime!=0)
- echo "<td align='right'>".number_format (round ($row1 ['resultat'] * 100 / $exprime, 2), 2)."%"."</td>";
- else
- echo "<td align='right'>pas de vote</td>";
+ if ($exprime != 0) {
+ echo "<td align='right'>".
+ number_format(round($row1 ['resultat'] * 100 / $exprime, 2), 2).
+ "%"."</td>";
+ } else {
+ echo "<td align='right'>pas de vote</td>";
+ }
echo "</tr>";
}
echo "</table>";
@@ -76,8 +87,11 @@
echo "</fieldset>";
}

-if($existe==0){
- $msg=$idx._("inexistant")." "._("dans")." "._("unite");
- $f->displayMessage($class, $message);
+if (! $election) {
+ $msg = "Aucune élection en cours";
+ $f->displayMessage("Valid", $msg);
+} elseif (! $existe) {
+ $msg = "Aucun résultat enregistré pour l'unite ".$idx;
+ $f->displayMessage("Valid", $msg);
}
?>

Modified: branches/2.0.0-develop-import/data/pgsql/init_permissions.sql
===================================================================
--- branches/2.0.0-develop-import/data/pgsql/init_permissions.sql 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/data/pgsql/init_permissions.sql 2021-05-05 14:03:29 UTC (rev 1048)
@@ -30,6 +30,7 @@
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'centaine_', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'centaine_ajouter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'centaine_consulter', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'centaine_importer_inscrits', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'centaine_modifier', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'centaine_supprimer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'centaine_tab', 'gen');
@@ -46,13 +47,8 @@
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'commune_supprimer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'commune_tab', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_acteur', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_acteur_ajouter', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_acteur_consulter', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_acteur_modifier', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_acteur_supprimer', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_acteur_tab', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_ajouter', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_ajouter_delegation_2', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_consulter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_modifier', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_participation', 'gen');
@@ -60,16 +56,9 @@
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_participation_ajouter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_participation_consulter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_participation_modifier', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_participation_supprimer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_participation_tab', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_supprimer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_tab', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_unite', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_unite_ajouter', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_unite_consulter', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_unite_modifier', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_unite_supprimer', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'delegation_unite_tab', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'departement', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'departement_ajouter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'departement_consulter', 'gen');
@@ -90,8 +79,12 @@
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_cloturee_', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_cloturee_ajouter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_cloturee_consulter', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_cloturee_importer_inscrits', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_cloturee_modifier', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_cloturee_supprimer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_cloturee_tab', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_consulter', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_importer_inscrits', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_modifier', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_resultat', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'election_resultat_ajouter', 'gen');
@@ -115,11 +108,13 @@
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'import', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'lien_unite', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'lien_unite_ajouter', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'lien_unite_ajouter_lien_multiple', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'lien_unite_consulter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'lien_unite_modifier', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'lien_unite_supprimer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'lien_unite_tab', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'menu_administration', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'menu_application', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'menu_parametrage', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'om_collectivite', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'om_collectivite_ajouter', 'gen');
@@ -269,11 +264,11 @@
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'plan_unite', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'plan_unite_ajouter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'plan_unite_consulter', 'gen');
-INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'plan_unite_json', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'plan_unite_modifier', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'plan_unite_supprimer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'plan_unite_tab', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'reqmo', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'settings', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'tranche', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'tranche_ajouter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'tranche_consulter', 'gen');
@@ -295,11 +290,13 @@
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'unite', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'unite_ajouter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'unite_consulter', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'unite_importer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'unite_json', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'unite_modifier', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'unite_supprimer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'unite_tab', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'web', 'gen');
+INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'web_activer', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'web_ajouter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'web_consulter', 'gen');
INSERT INTO om_permission (om_permission, libelle, type) VALUES (nextval('om_permission_seq'), 'web_modifier', 'gen');

Modified: branches/2.0.0-develop-import/data/pgsql/v2.0.0.dev0.sql
===================================================================
--- branches/2.0.0-develop-import/data/pgsql/v2.0.0.dev0.sql 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/data/pgsql/v2.0.0.dev0.sql 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1777,11 +1777,58 @@
ALTER COLUMN canton_prefecture TYPE CHARACTER VARYING(10) USING code_bureau_vote :: CHARACTER VARYING(10);

ALTER TABLE unite
- ADD COLUMN id_elire INTEGER;
+ ADD COLUMN id_reu INTEGER;
-- commentaires
-COMMENT ON COLUMN unite.id_elire IS 'Identifiant du bureau sur ELIRE';
+COMMENT ON COLUMN unite.id_reu IS 'Identifiant du bureau sur le REU';


--
-- END / [#9463] Import des unités de saisie
--
+
+--
+-- BEGIN / [#9402] Gestion et personnalisation des plans
+--
+
+--
+-- Name: plan; Type: TABLE; Schema: openresultat; Owner: -
+--
+ALTER TABLE
+ plan
+DROP
+ COLUMN hauteur_icone;
+
+ALTER TABLE
+ plan
+ALTER COLUMN
+ largeur_icone
+DROP NOT NULL;
+--
+-- Name: plan_unite; Type: TABLE; Schema: openresultat; Owner: -
+--
+ALTER TABLE
+ plan_unite
+DROP COLUMN hauteur_icone,
+DROP COLUMN texte_image,
+DROP COLUMN couleur_texte;
+--
+-- END / [#9402] Gestion et personnalisation des plans
+--
+
+--
+-- BEGIN / [#9494] Ergonomie et amélioration de la v2
+--
+-- Améliorer l'ergonomie de l'application et faire les corrections, améliorations
+-- remontés par les utilisateurs
+--
+
+ALTER TABLE election
+ ADD COLUMN sieges INTEGER,
+ ADD COLUMN sieges_com INTEGER;
+
+ALTER TABLE unite
+ RENAME COLUMN code_bureau_vote TO code_unite;
+
+--
+-- END / [#9494] Ergonomie et amélioration de la v2
+--
\ No newline at end of file

Copied: branches/2.0.0-develop-import/gen/dyn/form.inc.php (from rev 1047, branches/2.0.0-develop/gen/dyn/form.inc.php)
===================================================================
--- branches/2.0.0-develop-import/gen/dyn/form.inc.php (rev 0)
+++ branches/2.0.0-develop-import/gen/dyn/form.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Ce fichier permet de paramétrer le générateur.
+ *
+ * @package openresultat
+ * @version SVN : $Id$
+ */
+
+$serie = 30;

Modified: branches/2.0.0-develop-import/gen/dyn/gen.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/dyn/gen.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/dyn/gen.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -27,13 +27,72 @@
"resultat_participation_tranche"
);

+/**
+ *
+ */
+$rubrik_application = "application";
+$rubrik_administration = "administration & paramétrage";
+$rubrik_parametrage = "administration & paramétrage";
+$rubrik_parametrage_metier = "administration & paramétrage";
+$rubrik_election = "élections";
+
+/**
+ *
+ */
+$category_affichage = "affichage";
+$category_decoupage = "découpage administratif";
+$category_editions = "editions";
+$category_election = "élection";
+$category_gestiondesutilisateurs = "gestion des utilisateurs";
+$category_tableauxdebord = "tableaux de bord";
+
+/**
+ *
+ */
$tables_to_overload = array(
+ // A&P
+ "acteur" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_election, ),
+ ),
+ // DATA A&P
+ "animation" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_affichage, ),
+ ),
+ // A&P
+ "candidat" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_election, ),
+ ),
+ // A&P
+ "canton" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_decoupage, ),
+ ),
+ // A&P
+ "circonscription" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_decoupage, ),
+ ),
+ // A&P
+ "commune" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_decoupage, ),
+ ),
+ // DATA
+ "delegation" => array(
+ "breadcrumb_in_page_title" => array($rubrik_application, "election", ),
+ ),
+ // A&P
+ "departement" => array(
+ "tablename_in_page_title" => "département",
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_decoupage, ),
+ ),
+ // DATA
"election" => array(
+ "breadcrumb_in_page_title" => array($rubrik_application, ),
"extended_class" => array(
"election_cloturee",
),
),
+ // DATA
"election_candidat" => array(
+ "breadcrumb_in_page_title" => array($rubrik_application, "election", ),
"displayed_fields_in_tableinc" => array(
"election_candidat", "election", "candidat", "ordre", "prefecture",
),
@@ -43,7 +102,121 @@
),
),
),
+ // DATA
+ "election_resultat" => array(
+ "breadcrumb_in_page_title" => array($rubrik_application, "election", ),
+ ),
+ // DATA
+ "election_unite" => array(
+ "breadcrumb_in_page_title" => array($rubrik_application, "election", ),
+ ),
+ // A&P
+ "lien_unite" => array(
+ "tablename_in_page_title" => "lien entre unités",
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_election, ),
+ ),
+ // A&P
+ "om_collectivite" => array(
+ "breadcrumb_in_page_title" => array($rubrik_administration, "général", ),
+ ),
+ // A&P
+ "om_dashboard" => array(
+ "breadcrumb_in_page_title" => array($rubrik_administration, $category_tableauxdebord, ),
+ ),
+ // A&P
+ "om_droit" => array(
+ "breadcrumb_in_page_title" => array($rubrik_administration, $category_gestiondesutilisateurs, ),
+ ),
+ // A&P
+ "om_etat" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage, $category_editions, ),
+ ),
+ // A&P
+ "om_lettretype" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage, $category_editions, ),
+ ),
+ // A&P
+ "om_logo" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage, $category_editions, ),
+ ),
+ // A&P
+ "om_parametre" => array(
+ "breadcrumb_in_page_title" => array($rubrik_administration, "général", ),
+ ),
+ // A&P
+ "om_permission" => array(
+ "breadcrumb_in_page_title" => array($rubrik_administration, $category_gestiondesutilisateurs, ),
+ ),
+ // A&P
+ "om_profil" => array(
+ "breadcrumb_in_page_title" => array($rubrik_administration, $category_gestiondesutilisateurs, ),
+ ),
+ // A&P
+ "om_requete" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage, $category_editions, ),
+ ),
+ // A&P
+ "om_sig_extent" => array(
+ "tablename_in_page_title" => "étendue",
+ "breadcrumb_in_page_title" => array($rubrik_administration, "SIG", ),
+ ),
+ // A&P
+ "om_sig_flux" => array(
+ "tablename_in_page_title" => "flux",
+ "breadcrumb_in_page_title" => array($rubrik_administration, "SIG", ),
+ ),
+ // A&P
+ "om_sig_map" => array(
+ "tablename_in_page_title" => "carte",
+ "breadcrumb_in_page_title" => array($rubrik_administration, "SIG", ),
+ ),
+ // A&P
+ "om_sig_map_comp" => array(
+ "tablename_in_page_title" => "géométrie",
+ "breadcrumb_in_page_title" => array($rubrik_administration, "SIG", ),
+ ),
+ // A&P
+ "om_sig_map_flux" => array(
+ "tablename_in_page_title" => "flux appliqué à une carte",
+ "breadcrumb_in_page_title" => array($rubrik_administration, "SIG", ),
+ ),
+ // A&P
+ "om_sousetat" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage, $category_editions, ),
+ ),
+ // A&P
+ "om_utilisateur" => array(
+ "breadcrumb_in_page_title" => array($rubrik_administration, $category_gestiondesutilisateurs, ),
+ "displayed_fields_in_tableinc" => array(
+ "nom", "email", "login", "om_profil",
+ ),
+ ),
+ // A&P
+ "om_widget" => array(
+ "breadcrumb_in_page_title" => array($rubrik_administration, $category_tableauxdebord, ),
+ "displayed_fields_in_tableinc" => array(
+ "libelle", "om_profil", "type",
+ ),
+ ),
+ // DATA
+ "participation_election" => array(
+ "breadcrumb_in_page_title" => array($rubrik_application, "election", ),
+ ),
+ // DATA
+ "participation_unite" => array(
+ "breadcrumb_in_page_title" => array($rubrik_application, "election", ),
+ ),
+ // A&P
+ "parti_politique" => array(
+ "tablename_in_page_title" => "parti politique",
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_election, ),
+ ),
+ // DATA A&P
"plan" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_affichage, ),
+ "displayed_fields_in_tableinc" => array(
+ "plan", "libelle", "image_plan",
+ ),
"specific_config_for_fields" => array(
"image_plan" => array(
"abstract_type" => "file",
@@ -56,7 +229,16 @@
),
),
),
+ // DATA
+ "plan_election" => array(
+ "breadcrumb_in_page_title" => array($rubrik_application, "election", ),
+ ),
+ // DATA A&P
"plan_unite" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_affichage, ),
+ "displayed_fields_in_tableinc" => array(
+ "plan_unite", "plan", "unite", "position_x", "position_y",
+ ),
"specific_config_for_fields" => array(
"img_unite_arrivee" => array(
"abstract_type" => "file",
@@ -65,5 +247,29 @@
"abstract_type" => "file",
),
),
- )
+ ),
+ // A&P
+ "tranche" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_election, ),
+ "tabs_in_form" => false,
+ ),
+ // A&P
+ "type_election" => array(
+ "tablename_in_page_title" => "type d'élection",
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_election, ),
+ ),
+ // A&P
+ "type_unite" => array(
+ "tablename_in_page_title" => "type d'unité",
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_election, ),
+ ),
+ // A&P
+ "unite" => array(
+ "tablename_in_page_title" => "unité",
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_election, ),
+ ),
+ // A&P
+ "web" => array(
+ "breadcrumb_in_page_title" => array($rubrik_parametrage_metier, $category_affichage, ),
+ ),
);

Copied: branches/2.0.0-develop-import/gen/dyn/permissions.inc.php (from rev 1047, branches/2.0.0-develop/gen/dyn/permissions.inc.php)
===================================================================
--- branches/2.0.0-develop-import/gen/dyn/permissions.inc.php (rev 0)
+++ branches/2.0.0-develop-import/gen/dyn/permissions.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Ce fichier permet de paramétrer le générateur.
+ *
+ * @package openresultat
+ * @version SVN : $Id$
+ */
+
+$files_to_avoid = array(
+ "import_specific.class.php",
+ "om_application_override.class.php",
+ "om_dbform.class.php",
+ "om_formulaire.class.php",
+ "openresultat.class.php",
+);
+
+$permissions = array(
+);

Modified: branches/2.0.0-develop-import/gen/obj/election.class.php
===================================================================
--- branches/2.0.0-develop-import/gen/obj/election.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/obj/election.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,6 +1,6 @@
<?php
//$Id$
-//gen openMairie le 26/04/2021 20:20
+//gen openMairie le 03/05/2021 11:35

require_once "../obj/om_dbform.class.php";

@@ -63,6 +63,8 @@
"delegation_saisie",
"delegation_participation",
"validation_avant_publication",
+ "sieges",
+ "sieges_com",
);
}

@@ -250,6 +252,16 @@
} else {
$this->valF['validation_avant_publication'] = false;
}
+ if (!is_numeric($val['sieges'])) {
+ $this->valF['sieges'] = NULL;
+ } else {
+ $this->valF['sieges'] = $val['sieges'];
+ }
+ if (!is_numeric($val['sieges_com'])) {
+ $this->valF['sieges_com'] = NULL;
+ } else {
+ $this->valF['sieges_com'] = $val['sieges_com'];
+ }
}

//=================================================
@@ -322,6 +334,8 @@
$form->setType("delegation_saisie", "checkbox");
$form->setType("delegation_participation", "checkbox");
$form->setType("validation_avant_publication", "checkbox");
+ $form->setType("sieges", "text");
+ $form->setType("sieges_com", "text");
}

// MDOE MODIFIER
@@ -367,6 +381,8 @@
$form->setType("delegation_saisie", "checkbox");
$form->setType("delegation_participation", "checkbox");
$form->setType("validation_avant_publication", "checkbox");
+ $form->setType("sieges", "text");
+ $form->setType("sieges_com", "text");
}

// MODE SUPPRIMER
@@ -392,6 +408,8 @@
$form->setType("delegation_saisie", "hiddenstatic");
$form->setType("delegation_participation", "hiddenstatic");
$form->setType("validation_avant_publication", "hiddenstatic");
+ $form->setType("sieges", "hiddenstatic");
+ $form->setType("sieges_com", "hiddenstatic");
}

// MODE CONSULTER
@@ -417,6 +435,8 @@
$form->setType("delegation_saisie", "checkboxstatic");
$form->setType("delegation_participation", "checkboxstatic");
$form->setType("validation_avant_publication", "checkboxstatic");
+ $form->setType("sieges", "static");
+ $form->setType("sieges_com", "static");
}

}
@@ -433,6 +453,8 @@
$form->setOnchange('heure_ouverture','VerifNum(this)');
$form->setOnchange('heure_fermeture','VerifNum(this)');
$form->setOnchange('election_reference','VerifNum(this)');
+ $form->setOnchange('sieges','VerifNum(this)');
+ $form->setOnchange('sieges_com','VerifNum(this)');
}
/**
* Methode setTaille
@@ -459,6 +481,8 @@
$form->setTaille("delegation_saisie", 1);
$form->setTaille("delegation_participation", 1);
$form->setTaille("validation_avant_publication", 1);
+ $form->setTaille("sieges", 11);
+ $form->setTaille("sieges_com", 11);
}

/**
@@ -486,6 +510,8 @@
$form->setMax("delegation_saisie", 1);
$form->setMax("delegation_participation", 1);
$form->setMax("validation_avant_publication", 1);
+ $form->setMax("sieges", 11);
+ $form->setMax("sieges_com", 11);
}


@@ -512,6 +538,8 @@
$form->setLib('delegation_saisie', __('delegation_saisie'));
$form->setLib('delegation_participation', __('delegation_participation'));
$form->setLib('validation_avant_publication', __('validation_avant_publication'));
+ $form->setLib('sieges', __('sieges'));
+ $form->setLib('sieges_com', __('sieges_com'));
}
/**
*

Modified: branches/2.0.0-develop-import/gen/obj/plan.class.php
===================================================================
--- branches/2.0.0-develop-import/gen/obj/plan.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/obj/plan.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,6 +1,6 @@
<?php
//$Id$
-//gen openMairie le 09/04/2021 17:28
+//gen openMairie le 29/04/2021 17:19

require_once "../obj/om_dbform.class.php";

@@ -12,11 +12,9 @@
var $clePrimaire = "plan";
var $typeCle = "N";
var $required_field = array(
- "hauteur_icone",
"image_plan",
"img_unite_arrivee",
"img_unite_non_arrivee",
- "largeur_icone",
"libelle",
"plan"
);
@@ -50,7 +48,6 @@
"img_unite_non_arrivee",
"par_defaut",
"largeur_icone",
- "hauteur_icone",
);
}

@@ -74,15 +71,10 @@
$this->valF['par_defaut'] = false;
}
if (!is_numeric($val['largeur_icone'])) {
- $this->valF['largeur_icone'] = ""; // -> requis
+ $this->valF['largeur_icone'] = NULL;
} else {
$this->valF['largeur_icone'] = $val['largeur_icone'];
}
- if (!is_numeric($val['hauteur_icone'])) {
- $this->valF['hauteur_icone'] = ""; // -> requis
- } else {
- $this->valF['hauteur_icone'] = $val['hauteur_icone'];
- }
}

//=================================================
@@ -133,7 +125,6 @@
}
$form->setType("par_defaut", "checkbox");
$form->setType("largeur_icone", "text");
- $form->setType("hauteur_icone", "text");
}

// MDOE MODIFIER
@@ -157,7 +148,6 @@
}
$form->setType("par_defaut", "checkbox");
$form->setType("largeur_icone", "text");
- $form->setType("hauteur_icone", "text");
}

// MODE SUPPRIMER
@@ -169,7 +159,6 @@
$form->setType("img_unite_non_arrivee", "filestatic");
$form->setType("par_defaut", "hiddenstatic");
$form->setType("largeur_icone", "hiddenstatic");
- $form->setType("hauteur_icone", "hiddenstatic");
}

// MODE CONSULTER
@@ -181,7 +170,6 @@
$form->setType("img_unite_non_arrivee", "file");
$form->setType("par_defaut", "checkboxstatic");
$form->setType("largeur_icone", "static");
- $form->setType("hauteur_icone", "static");
}

}
@@ -191,7 +179,6 @@
//javascript controle client
$form->setOnchange('plan','VerifNum(this)');
$form->setOnchange('largeur_icone','VerifNum(this)');
- $form->setOnchange('hauteur_icone','VerifNum(this)');
}
/**
* Methode setTaille
@@ -204,7 +191,6 @@
$form->setTaille("img_unite_non_arrivee", 30);
$form->setTaille("par_defaut", 1);
$form->setTaille("largeur_icone", 11);
- $form->setTaille("hauteur_icone", 11);
}

/**
@@ -218,7 +204,6 @@
$form->setMax("img_unite_non_arrivee", 100);
$form->setMax("par_defaut", 1);
$form->setMax("largeur_icone", 11);
- $form->setMax("hauteur_icone", 11);
}


@@ -231,7 +216,6 @@
$form->setLib('img_unite_non_arrivee', __('img_unite_non_arrivee'));
$form->setLib('par_defaut', __('par_defaut'));
$form->setLib('largeur_icone', __('largeur_icone'));
- $form->setLib('hauteur_icone', __('hauteur_icone'));
}
/**
*

Modified: branches/2.0.0-develop-import/gen/obj/plan_unite.class.php
===================================================================
--- branches/2.0.0-develop-import/gen/obj/plan_unite.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/obj/plan_unite.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,6 +1,6 @@
<?php
//$Id$
-//gen openMairie le 09/04/2021 17:28
+//gen openMairie le 30/04/2021 10:47

require_once "../obj/om_dbform.class.php";

@@ -47,12 +47,9 @@
"unite",
"img_unite_arrivee",
"img_unite_non_arrivee",
- "texte_image",
- "couleur_texte",
"position_x",
"position_y",
"largeur_icone",
- "hauteur_icone",
);
}

@@ -118,16 +115,6 @@
} else {
$this->valF['img_unite_non_arrivee'] = $val['img_unite_non_arrivee'];
}
- if ($val['texte_image'] == "") {
- $this->valF['texte_image'] = NULL;
- } else {
- $this->valF['texte_image'] = $val['texte_image'];
- }
- if ($val['couleur_texte'] == "") {
- $this->valF['couleur_texte'] = NULL;
- } else {
- $this->valF['couleur_texte'] = $val['couleur_texte'];
- }
if (!is_numeric($val['position_x'])) {
$this->valF['position_x'] = NULL;
} else {
@@ -143,11 +130,6 @@
} else {
$this->valF['largeur_icone'] = $val['largeur_icone'];
}
- if (!is_numeric($val['hauteur_icone'])) {
- $this->valF['hauteur_icone'] = NULL;
- } else {
- $this->valF['hauteur_icone'] = $val['hauteur_icone'];
- }
}

//=================================================
@@ -200,12 +182,9 @@
} else {
$form->setType("img_unite_non_arrivee", "upload2");
}
- $form->setType("texte_image", "text");
- $form->setType("couleur_texte", "text");
$form->setType("position_x", "text");
$form->setType("position_y", "text");
$form->setType("largeur_icone", "text");
- $form->setType("hauteur_icone", "text");
}

// MDOE MODIFIER
@@ -231,12 +210,9 @@
} else {
$form->setType("img_unite_non_arrivee", "upload2");
}
- $form->setType("texte_image", "text");
- $form->setType("couleur_texte", "text");
$form->setType("position_x", "text");
$form->setType("position_y", "text");
$form->setType("largeur_icone", "text");
- $form->setType("hauteur_icone", "text");
}

// MODE SUPPRIMER
@@ -246,12 +222,9 @@
$form->setType("unite", "selectstatic");
$form->setType("img_unite_arrivee", "filestatic");
$form->setType("img_unite_non_arrivee", "filestatic");
- $form->setType("texte_image", "hiddenstatic");
- $form->setType("couleur_texte", "hiddenstatic");
$form->setType("position_x", "hiddenstatic");
$form->setType("position_y", "hiddenstatic");
$form->setType("largeur_icone", "hiddenstatic");
- $form->setType("hauteur_icone", "hiddenstatic");
}

// MODE CONSULTER
@@ -261,12 +234,9 @@
$form->setType("unite", "selectstatic");
$form->setType("img_unite_arrivee", "file");
$form->setType("img_unite_non_arrivee", "file");
- $form->setType("texte_image", "static");
- $form->setType("couleur_texte", "static");
$form->setType("position_x", "static");
$form->setType("position_y", "static");
$form->setType("largeur_icone", "static");
- $form->setType("hauteur_icone", "static");
}

}
@@ -280,7 +250,6 @@
$form->setOnchange('position_x','VerifNum(this)');
$form->setOnchange('position_y','VerifNum(this)');
$form->setOnchange('largeur_icone','VerifNum(this)');
- $form->setOnchange('hauteur_icone','VerifNum(this)');
}
/**
* Methode setTaille
@@ -291,12 +260,9 @@
$form->setTaille("unite", 11);
$form->setTaille("img_unite_arrivee", 30);
$form->setTaille("img_unite_non_arrivee", 30);
- $form->setTaille("texte_image", 30);
- $form->setTaille("couleur_texte", 13);
$form->setTaille("position_x", 11);
$form->setTaille("position_y", 11);
$form->setTaille("largeur_icone", 11);
- $form->setTaille("hauteur_icone", 11);
}

/**
@@ -308,12 +274,9 @@
$form->setMax("unite", 11);
$form->setMax("img_unite_arrivee", 100);
$form->setMax("img_unite_non_arrivee", 100);
- $form->setMax("texte_image", 30);
- $form->setMax("couleur_texte", 13);
$form->setMax("position_x", 11);
$form->setMax("position_y", 11);
$form->setMax("largeur_icone", 11);
- $form->setMax("hauteur_icone", 11);
}


@@ -324,12 +287,9 @@
$form->setLib('unite', __('unite'));
$form->setLib('img_unite_arrivee', __('img_unite_arrivee'));
$form->setLib('img_unite_non_arrivee', __('img_unite_non_arrivee'));
- $form->setLib('texte_image', __('texte_image'));
- $form->setLib('couleur_texte', __('couleur_texte'));
$form->setLib('position_x', __('position_x'));
$form->setLib('position_y', __('position_y'));
$form->setLib('largeur_icone', __('largeur_icone'));
- $form->setLib('hauteur_icone', __('hauteur_icone'));
}
/**
*

Modified: branches/2.0.0-develop-import/gen/obj/unite.class.php
===================================================================
--- branches/2.0.0-develop-import/gen/obj/unite.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/obj/unite.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,6 +1,6 @@
<?php
//$Id$
-//gen openMairie le 27/04/2021 15:39
+//gen openMairie le 04/05/2021 14:42

require_once "../obj/om_dbform.class.php";

@@ -60,8 +60,8 @@
"circonscription",
"commune",
"departement",
- "code_bureau_vote",
- "id_elire",
+ "code_unite",
+ "id_reu",
);
}

@@ -258,15 +258,15 @@
} else {
$this->valF['departement'] = $val['departement'];
}
- if ($val['code_bureau_vote'] == "") {
- $this->valF['code_bureau_vote'] = NULL;
+ if ($val['code_unite'] == "") {
+ $this->valF['code_unite'] = NULL;
} else {
- $this->valF['code_bureau_vote'] = $val['code_bureau_vote'];
+ $this->valF['code_unite'] = $val['code_unite'];
}
- if (!is_numeric($val['id_elire'])) {
- $this->valF['id_elire'] = NULL;
+ if (!is_numeric($val['id_reu'])) {
+ $this->valF['id_reu'] = NULL;
} else {
- $this->valF['id_elire'] = $val['id_elire'];
+ $this->valF['id_reu'] = $val['id_reu'];
}
}

@@ -379,8 +379,8 @@
} else {
$form->setType("departement", "select");
}
- $form->setType("code_bureau_vote", "text");
- $form->setType("id_elire", "text");
+ $form->setType("code_unite", "text");
+ $form->setType("id_reu", "text");
}

// MDOE MODIFIER
@@ -437,8 +437,8 @@
} else {
$form->setType("departement", "select");
}
- $form->setType("code_bureau_vote", "text");
- $form->setType("id_elire", "text");
+ $form->setType("code_unite", "text");
+ $form->setType("id_reu", "text");
}

// MODE SUPPRIMER
@@ -463,8 +463,8 @@
$form->setType("circonscription", "selectstatic");
$form->setType("commune", "selectstatic");
$form->setType("departement", "selectstatic");
- $form->setType("code_bureau_vote", "hiddenstatic");
- $form->setType("id_elire", "hiddenstatic");
+ $form->setType("code_unite", "hiddenstatic");
+ $form->setType("id_reu", "hiddenstatic");
}

// MODE CONSULTER
@@ -489,8 +489,8 @@
$form->setType("circonscription", "selectstatic");
$form->setType("commune", "selectstatic");
$form->setType("departement", "selectstatic");
- $form->setType("code_bureau_vote", "static");
- $form->setType("id_elire", "static");
+ $form->setType("code_unite", "static");
+ $form->setType("id_reu", "static");
}

}
@@ -507,7 +507,7 @@
$form->setOnchange('circonscription','VerifNum(this)');
$form->setOnchange('commune','VerifNum(this)');
$form->setOnchange('departement','VerifNum(this)');
- $form->setOnchange('id_elire','VerifNum(this)');
+ $form->setOnchange('id_reu','VerifNum(this)');
}
/**
* Methode setTaille
@@ -533,8 +533,8 @@
$form->setTaille("circonscription", 11);
$form->setTaille("commune", 11);
$form->setTaille("departement", 11);
- $form->setTaille("code_bureau_vote", 10);
- $form->setTaille("id_elire", 11);
+ $form->setTaille("code_unite", 10);
+ $form->setTaille("id_reu", 11);
}

/**
@@ -561,8 +561,8 @@
$form->setMax("circonscription", 11);
$form->setMax("commune", 11);
$form->setMax("departement", 11);
- $form->setMax("code_bureau_vote", 10);
- $form->setMax("id_elire", 11);
+ $form->setMax("code_unite", 10);
+ $form->setMax("id_reu", 11);
}


@@ -588,8 +588,8 @@
$form->setLib('circonscription', __('circonscription'));
$form->setLib('commune', __('commune'));
$form->setLib('departement', __('departement'));
- $form->setLib('code_bureau_vote', __('code_bureau_vote'));
- $form->setLib('id_elire', __('id_elire'));
+ $form->setLib('code_unite', __('code_unite'));
+ $form->setLib('id_reu', __('id_reu'));
}
/**
*

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/acteur.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/acteur.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/acteur.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 05/03/2021 17:54
+//gen openMairie le 03/05/2021 01:39

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("acteur");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("élection")." -> ".__("acteur");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/animation.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/animation.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/animation.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 26/04/2021 20:20
+//gen openMairie le 29/04/2021 23:44

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("animation");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("affichage")." -> ".__("animation");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/candidat.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/candidat.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/candidat.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 13/04/2021 16:59
+//gen openMairie le 29/04/2021 23:02

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("candidat");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("élection")." -> ".__("candidat");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/canton.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/canton.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/canton.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 28/09/2020 17:16
+//gen openMairie le 29/04/2021 23:04

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("canton");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("découpage administratif")." -> ".__("canton");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/circonscription.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/circonscription.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/circonscription.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/09/2020 17:53
+//gen openMairie le 29/04/2021 23:04

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("circonscription");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("découpage administratif")." -> ".__("circonscription");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/commune.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/commune.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/commune.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/09/2020 17:53
+//gen openMairie le 29/04/2021 23:04

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("commune");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("découpage administratif")." -> ".__("commune");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/delegation.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/delegation.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/delegation.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 26/04/2021 20:20
+//gen openMairie le 30/04/2021 17:40

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("delegation");
+$serie=30;
+$ent = __("application")." -> ".__("election")." -> ".__("delegation");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/departement.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/departement.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/departement.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/09/2020 17:53
+//gen openMairie le 01/05/2021 13:25

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("departement");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("découpage administratif")." -> ".__("département");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/election.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/election.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/election.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,9 +1,9 @@
<?php
//$Id$
-//gen openMairie le 26/04/2021 20:20
+//gen openMairie le 03/05/2021 11:35

$DEBUG=0;
-$serie=15;
+$serie=30;
$ent = __("application")." -> ".__("election");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
@@ -54,6 +54,8 @@
"case election.delegation_saisie when 't' then 'Oui' else 'Non' end as \"".__("delegation_saisie")."\"",
"case election.delegation_participation when 't' then 'Oui' else 'Non' end as \"".__("delegation_participation")."\"",
"case election.validation_avant_publication when 't' then 'Oui' else 'Non' end as \"".__("validation_avant_publication")."\"",
+ 'election.sieges as "'.__("sieges").'"',
+ 'election.sieges_com as "'.__("sieges_com").'"',
);
//
$champNonAffiche = array(
@@ -71,6 +73,8 @@
'tranche1.libelle as "'.__("heure_fermeture").'"',
'election.libelle as "'.__("election_reference").'"',
'election.workflow as "'.__("workflow").'"',
+ 'election.sieges as "'.__("sieges").'"',
+ 'election.sieges_com as "'.__("sieges_com").'"',
);
$tri="ORDER BY election.libelle ASC NULLS LAST";
$edition="election";

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/election_candidat.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/election_candidat.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/election_candidat.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 28/04/2021 14:31
+//gen openMairie le 30/04/2021 10:18

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("election_candidat");
+$serie=30;
+$ent = __("application")." -> ".__("election")." -> ".__("election_candidat");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/election_resultat.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/election_resultat.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/election_resultat.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 10/08/2020 09:43
+//gen openMairie le 30/04/2021 10:18

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("election_resultat");
+$serie=30;
+$ent = __("application")." -> ".__("election")." -> ".__("election_resultat");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/election_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/election_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/election_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 26/04/2021 20:20
+//gen openMairie le 30/04/2021 10:18

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("election_unite");
+$serie=30;
+$ent = __("application")." -> ".__("election")." -> ".__("election_unite");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/lien_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/lien_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/lien_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 10/08/2020 09:43
+//gen openMairie le 01/05/2021 01:09

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("lien_unite");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("élection")." -> ".__("lien entre unités");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_collectivite.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_collectivite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_collectivite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:41

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("om_collectivite");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("général")." -> ".__("om_collectivite");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_dashboard.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_dashboard.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_dashboard.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:23

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("tableaux de bord")." -> ".__("om_dashboard");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("tableaux de bord")." -> ".__("om_dashboard");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_droit.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_droit.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_droit.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:41

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("om_droit");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("gestion des utilisateurs")." -> ".__("om_droit");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_etat.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_etat.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_etat.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 23:02

$DEBUG=0;
-$serie=15;
-$ent = __("parametrage")." -> ".__("om_etat");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("editions")." -> ".__("om_etat");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_lettretype.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_lettretype.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_lettretype.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 23:02

$DEBUG=0;
-$serie=15;
-$ent = __("parametrage")." -> ".__("om_lettretype");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("editions")." -> ".__("om_lettretype");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_logo.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_logo.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_logo.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 23:02

$DEBUG=0;
-$serie=15;
-$ent = __("parametrage")." -> ".__("om_logo");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("editions")." -> ".__("om_logo");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';
@@ -82,3 +82,11 @@
}
}

+/**
+ * Gestion SOUSFORMULAIRE => $sousformulaire
+ */
+$sousformulaire = array(
+ 'animation',
+ 'web',
+);
+

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_parametre.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_parametre.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_parametre.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:41

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("om_parametre");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("général")." -> ".__("om_parametre");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_permission.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_permission.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_permission.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:41

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("om_permission");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("gestion des utilisateurs")." -> ".__("om_permission");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_profil.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_profil.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_profil.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:41

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("om_profil");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("gestion des utilisateurs")." -> ".__("om_profil");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_requete.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_requete.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_requete.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 23:02

$DEBUG=0;
-$serie=15;
-$ent = __("parametrage")." -> ".__("om_requete");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("editions")." -> ".__("om_requete");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_extent.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_extent.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_extent.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:23

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("SIG")." -> ".__("étendue");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("SIG")." -> ".__("étendue");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_flux.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_flux.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_flux.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:23

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("SIG")." -> ".__("flux");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("SIG")." -> ".__("flux");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:23

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("SIG")." -> ".__("carte");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("SIG")." -> ".__("carte");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map_comp.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map_comp.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map_comp.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:23

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("SIG")." -> ".__("géométrie");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("SIG")." -> ".__("géométrie");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map_flux.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map_flux.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_sig_map_flux.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:23

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("SIG")." -> ".__("flux appliqué à une carte");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("SIG")." -> ".__("flux appliqué à une carte");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_sousetat.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_sousetat.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_sousetat.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 23:02

$DEBUG=0;
-$serie=15;
-$ent = __("parametrage")." -> ".__("om_sousetat");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("editions")." -> ".__("om_sousetat");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_utilisateur.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_utilisateur.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_utilisateur.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:41

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("om_utilisateur");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("gestion des utilisateurs")." -> ".__("om_utilisateur");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/om_widget.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/om_widget.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/om_widget.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 22:23

$DEBUG=0;
-$serie=15;
-$ent = __("administration")." -> ".__("tableaux de bord")." -> ".__("om_widget");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("tableaux de bord")." -> ".__("om_widget");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/parti_politique.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/parti_politique.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/parti_politique.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 23/02/2021 10:55
+//gen openMairie le 03/05/2021 01:58

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("parti_politique");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("élection")." -> ".__("parti politique");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/participation_election.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/participation_election.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/participation_election.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 26/04/2021 20:20
+//gen openMairie le 30/04/2021 10:18

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("participation_election");
+$serie=30;
+$ent = __("application")." -> ".__("election")." -> ".__("participation_election");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/participation_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/participation_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/participation_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 15/03/2021 17:09
+//gen openMairie le 30/04/2021 10:18

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("participation_unite");
+$serie=30;
+$ent = __("application")." -> ".__("election")." -> ".__("participation_unite");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/plan.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/plan.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/plan.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 09/04/2021 17:28
+//gen openMairie le 03/05/2021 01:35

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("plan");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("affichage")." -> ".__("plan");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';
@@ -26,24 +26,19 @@
'plan.plan as "'.__("plan").'"',
'plan.libelle as "'.__("libelle").'"',
'plan.image_plan as "'.__("image_plan").'"',
+ );
+//
+$champNonAffiche = array(
'plan.img_unite_arrivee as "'.__("img_unite_arrivee").'"',
'plan.img_unite_non_arrivee as "'.__("img_unite_non_arrivee").'"',
- "case plan.par_defaut when 't' then 'Oui' else 'Non' end as \"".__("par_defaut")."\"",
+ 'plan.par_defaut as "'.__("par_defaut").'"',
'plan.largeur_icone as "'.__("largeur_icone").'"',
- 'plan.hauteur_icone as "'.__("hauteur_icone").'"',
);
//
-$champNonAffiche = array(
- );
-//
$champRecherche = array(
'plan.plan as "'.__("plan").'"',
'plan.libelle as "'.__("libelle").'"',
'plan.image_plan as "'.__("image_plan").'"',
- 'plan.img_unite_arrivee as "'.__("img_unite_arrivee").'"',
- 'plan.img_unite_non_arrivee as "'.__("img_unite_non_arrivee").'"',
- 'plan.largeur_icone as "'.__("largeur_icone").'"',
- 'plan.hauteur_icone as "'.__("hauteur_icone").'"',
);
$tri="ORDER BY plan.libelle ASC NULLS LAST";
$edition="plan";

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/plan_election.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/plan_election.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/plan_election.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 26/04/2021 20:20
+//gen openMairie le 30/04/2021 17:40

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("plan_election");
+$serie=30;
+$ent = __("application")." -> ".__("election")." -> ".__("plan_election");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/plan_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/plan_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/plan_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 09/04/2021 17:28
+//gen openMairie le 03/05/2021 01:35

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("plan_unite");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("affichage")." -> ".__("plan_unite");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';
@@ -30,17 +30,14 @@
'plan_unite.plan_unite as "'.__("plan_unite").'"',
'plan.libelle as "'.__("plan").'"',
'unite.libelle as "'.__("unite").'"',
- 'plan_unite.img_unite_arrivee as "'.__("img_unite_arrivee").'"',
- 'plan_unite.img_unite_non_arrivee as "'.__("img_unite_non_arrivee").'"',
- 'plan_unite.texte_image as "'.__("texte_image").'"',
- 'plan_unite.couleur_texte as "'.__("couleur_texte").'"',
'plan_unite.position_x as "'.__("position_x").'"',
'plan_unite.position_y as "'.__("position_y").'"',
- 'plan_unite.largeur_icone as "'.__("largeur_icone").'"',
- 'plan_unite.hauteur_icone as "'.__("hauteur_icone").'"',
);
//
$champNonAffiche = array(
+ 'plan_unite.img_unite_arrivee as "'.__("img_unite_arrivee").'"',
+ 'plan_unite.img_unite_non_arrivee as "'.__("img_unite_non_arrivee").'"',
+ 'plan_unite.largeur_icone as "'.__("largeur_icone").'"',
);
//
$champRecherche = array(
@@ -47,14 +44,8 @@
'plan_unite.plan_unite as "'.__("plan_unite").'"',
'plan.libelle as "'.__("plan").'"',
'unite.libelle as "'.__("unite").'"',
- 'plan_unite.img_unite_arrivee as "'.__("img_unite_arrivee").'"',
- 'plan_unite.img_unite_non_arrivee as "'.__("img_unite_non_arrivee").'"',
- 'plan_unite.texte_image as "'.__("texte_image").'"',
- 'plan_unite.couleur_texte as "'.__("couleur_texte").'"',
'plan_unite.position_x as "'.__("position_x").'"',
'plan_unite.position_y as "'.__("position_y").'"',
- 'plan_unite.largeur_icone as "'.__("largeur_icone").'"',
- 'plan_unite.hauteur_icone as "'.__("hauteur_icone").'"',
);
$tri="ORDER BY plan.libelle ASC NULLS LAST";
$edition="plan_unite";

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/tranche.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/tranche.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/tranche.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 25/06/2020 10:44
+//gen openMairie le 29/04/2021 23:02

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("tranche");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("élection")." -> ".__("tranche");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';
@@ -47,7 +47,7 @@
* Gestion SOUSFORMULAIRE => $sousformulaire
*/
$sousformulaire = array(
- 'election',
- 'participation_election',
+ //'election',
+ //'participation_election',
);


Modified: branches/2.0.0-develop-import/gen/sql/pgsql/type_election.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/type_election.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/type_election.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 17/06/2019 14:10
+//gen openMairie le 01/05/2021 01:27

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("type_election");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("élection")." -> ".__("type d'élection");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/type_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/type_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/type_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 10/11/2020 14:59
+//gen openMairie le 30/04/2021 23:58

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("type_unite");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("élection")." -> ".__("type d'unité");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 27/04/2021 15:39
+//gen openMairie le 04/05/2021 14:42

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("unite");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("élection")." -> ".__("unité");
$om_validite = true;
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
@@ -56,8 +56,8 @@
'circonscription.libelle as "'.__("circonscription").'"',
'commune.libelle as "'.__("commune").'"',
'departement.libelle as "'.__("departement").'"',
- 'unite.code_bureau_vote as "'.__("code_bureau_vote").'"',
- 'unite.id_elire as "'.__("id_elire").'"',
+ 'unite.code_unite as "'.__("code_unite").'"',
+ 'unite.id_reu as "'.__("id_reu").'"',
);
//
$champNonAffiche = array(
@@ -80,8 +80,8 @@
'circonscription.libelle as "'.__("circonscription").'"',
'commune.libelle as "'.__("commune").'"',
'departement.libelle as "'.__("departement").'"',
- 'unite.code_bureau_vote as "'.__("code_bureau_vote").'"',
- 'unite.id_elire as "'.__("id_elire").'"',
+ 'unite.code_unite as "'.__("code_unite").'"',
+ 'unite.id_reu as "'.__("id_reu").'"',
);
$tri="ORDER BY unite.libelle ASC NULLS LAST";
$edition="unite";

Modified: branches/2.0.0-develop-import/gen/sql/pgsql/web.inc.php
===================================================================
--- branches/2.0.0-develop-import/gen/sql/pgsql/web.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/gen/sql/pgsql/web.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,10 +1,10 @@
<?php
//$Id$
-//gen openMairie le 07/04/2021 16:21
+//gen openMairie le 29/04/2021 23:44

$DEBUG=0;
-$serie=15;
-$ent = __("application")." -> ".__("web");
+$serie=30;
+$ent = __("administration & paramétrage")." -> ".__("affichage")." -> ".__("web");
if(!isset($premier)) $premier='';
if(!isset($tricolsf)) $tricolsf='';
if(!isset($premiersf)) $premiersf='';

Modified: branches/2.0.0-develop-import/obj/animation.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/animation.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/animation.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -245,6 +245,7 @@
if ($maj < 2) {
$form->setType('couleur_titre', 'hexa');
$form->setType('couleur_bandeau', 'hexa');
+ $form->setType('modele', 'select');
}

//Le perimetre et le type d'unité n'a besoin d'être choisi que pour une animation
@@ -266,7 +267,6 @@
$form->setType('perimetre_aff', 'select');
$form->setType('type_aff', 'select');
$form->setType('election_comparaison', 'select_multiple');
- $form->setType('modele', 'select');
}
}

@@ -508,7 +508,7 @@
//parmis les unités de l'élection
if (empty($idElection)) {
return 'SELECT
- unite.unite, unite.libelle
+ unite.unite, concat(unite.code_unite, \' \', unite.libelle)
FROM
'.DB_PREFIXE.'unite';
}
@@ -524,7 +524,7 @@
));
$perimetre = $election->getVal('perimetre');
return "SELECT
- unite.unite, unite.libelle
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
FROM
".DB_PREFIXE."unite
LEFT JOIN ".DB_PREFIXE."election_unite ON unite.unite = election_unite.unite
@@ -542,6 +542,18 @@
unite.libelle ASC";
}

+ /**
+ *
+ * @return string
+ */
+ function get_var_sql_forminc__sql_perimetre_aff_by_id() {
+ return "SELECT
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
+ FROM
+ ".DB_PREFIXE."unite
+ WHERE
+ unite = <idx>";
+ }

/**
* Permet d'afficher la liste des types des unités appartennant

Modified: branches/2.0.0-develop-import/obj/centaine.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/centaine.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/centaine.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -28,6 +28,7 @@

$actionsASupprimer = array(
4, //reset
+ 5, //import des inscrits
11, //export prefecture
15, // calcul des sièges
19, // vérification paramétrage
@@ -392,7 +393,7 @@
%s
</tr>',
$oddEven,
- $unite->getVal('libelle'),
+ $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
$uniteElec->getVal('inscrit'),
$uniteElec->getVal('votant'),
$uniteElec->getVal('blanc'),

Modified: branches/2.0.0-develop-import/obj/delegation.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/delegation.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/delegation.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -80,7 +80,7 @@
function get_var_sql_forminc__sql_unite() {
$sql =
"SELECT
- unite.unite, unite.libelle
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
FROM
".DB_PREFIXE."unite
WHERE
@@ -94,7 +94,7 @@
$electionId = $this->f->get_submitted_get_value('idxformulaire');
$sql =
"SELECT
- unite.unite, unite.libelle
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
FROM
".DB_PREFIXE."unite
INNER JOIN ".DB_PREFIXE."election_unite ON unite.unite = election_unite.unite
@@ -107,6 +107,19 @@
}

/**
+ *
+ * @return string
+ */
+ function get_var_sql_forminc__sql_unite_by_id() {
+ return "SELECT
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
+ FROM
+ ".DB_PREFIXE."unite
+ WHERE
+ unite = <idx>";
+ }
+
+ /**
* SETTER FORM - set_form_default_values
*
* @param formulaire $form Instance formulaire.
@@ -233,7 +246,7 @@
);
$delegation = $this->f->db->getOne($sql);
if ($this->f->isDatabaseError($delegation, true)) {
- $this->addToLog(__METHOD__." database error:".$maj->getDebugInfo().";", DEBUG_MODE);
+ $this->addToLog(__METHOD__." database error:".$delegation->getDebugInfo().";", DEBUG_MODE);
$this->addToMessage('Erreur lors de la récupération de la délégation');
}
return ! empty($delegation);

Modified: branches/2.0.0-develop-import/obj/delegation_participation.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/delegation_participation.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/delegation_participation.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -40,6 +40,37 @@
}

/**
+ *
+ * @return string
+ */
+ function get_var_sql_forminc__sql_unite() {
+ return "SELECT
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
+ FROM
+ ".DB_PREFIXE."unite
+ WHERE
+ ((unite.om_validite_debut IS NULL AND
+ (unite.om_validite_fin IS NULL OR unite.om_validite_fin > CURRENT_DATE)) OR
+ (unite.om_validite_debut <= CURRENT_DATE AND
+ (unite.om_validite_fin IS NULL OR unite.om_validite_fin > CURRENT_DATE)))
+ ORDER BY
+ unite.libelle ASC";
+ }
+
+ /**
+ *
+ * @return string
+ */
+ function get_var_sql_forminc__sql_unite_by_id() {
+ return "SELECT
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
+ FROM
+ ".DB_PREFIXE."unite
+ WHERE
+ unite = <idx>";
+ }
+
+ /**
* Definition des actions disponibles sur la classe
* Supprime du portlet toutes les actions définies pour les élection unités
* à part celle du CRUD
@@ -275,28 +306,29 @@
}

/**
- * TRIGGER - triggermodifier
+ * Vérifie la validité des valeurs en mode CREATE & UPDATE.
*
- * Vérifie qu'il n'y a pas de conflit de saisie pour chaque participation par unité
- *
- * @param string $id
+ * - Vérifie qu'il n'y a pas de conflit lors de la saisie'
+ *
+ * @param array $val Tableau des valeurs brutes.
* @param null &$dnu1 @deprecated Ne pas utiliser.
- * @param array $val Tableau des valeurs brutes.
* @param null $dnu2 @deprecated Ne pas utiliser.
*
- * @param integer $id identifiant de l'objet
- *
* @return void
*/
- function triggermodifier($id, &$dnu1 = null, $val = array(), $dnu2 = null) {
+ function verifier($val = array(), &$dnu1 = null, $dnu2 = null) {
+ parent::verifier($val, $dnu1, $dnu2);
// Vérification que les participations enregistrées ne risque pas de rentrer en conflit avec
// d'autre participations
- foreach ($this->tranches as $tranche) {
- $idPartElection = $tranche->getVal('participation_election');
- $participationUnite = $this->get_participation_unite($idPartElection);
- if ($participationUnite->f->conflit_saisie($participationUnite, $val['ouverture'])) {
- $this->addToMessage('Attention: votre modification est en conflit avec la modification précédente!');
- return false;
+ if (array_key_exists('ouverture', $val)) {
+ foreach ($this->tranches as $tranche) {
+ $idPartElection = $tranche->getVal('participation_election');
+ $participationUnite = $this->get_participation_unite($idPartElection);
+ if ($participationUnite->f->conflit_saisie($participationUnite, $val['ouverture'])) {
+ $this->addToMessage('Attention: votre modification est en conflit avec la modification précédente!');
+ $this->correct = false;
+ return;
+ }
}
}
}
@@ -791,7 +823,7 @@
$election = $this->f->get_element_by_id('election', $this->getVal('election'));
$contenu = array(
'election' => $election->getVal('libelle'),
- 'unite_libelle' => $unite->getVal('libelle'),
+ 'unite_libelle' => $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
'inscrit' => $this->getVal('inscrit'),
'votant' => $this->getVal('votant'),
'exprime' => $this->getVal('exprime'),

Modified: branches/2.0.0-develop-import/obj/election.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/election.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/election.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -65,6 +65,27 @@
}

/**
+ *
+ * @return string
+ */
+ function get_var_sql_forminc__sql_perimetre() {
+ return "SELECT
+ unite.unite,
+ concat(unite.code_unite, ' ', unite.libelle)
+ FROM
+ ".DB_PREFIXE."unite
+ WHERE
+ ((unite.om_validite_debut IS NULL AND
+ (unite.om_validite_fin IS NULL OR
+ unite.om_validite_fin > CURRENT_DATE)) OR
+ (unite.om_validite_debut <= CURRENT_DATE AND
+ (unite.om_validite_fin IS NULL OR
+ unite.om_validite_fin > CURRENT_DATE))) AND
+ unite.perimetre = TRUE
+ ORDER BY unite.libelle ASC";
+ }
+
+ /**
* Definition des actions disponibles sur la classe
*
* @return void
@@ -94,16 +115,17 @@
)
);

- // ACTION - 05 - import des inscrit
+ // ACTION - 05 - import_inscrits
$this->class_actions[5] = array(
- "identifier" => "import_inscrit",
+ "identifier" => "import_inscrits",
"portlet" => array(
"type" => "action-self",
"libelle" => _("importer les inscrits"),
"order" => 50,
'class' => 'arrow-right-16',
- 'url' => '../app/import_specific.php?obj=election_unite&amp;retourformulaire=election&amp;idxformulaire='
),
+ "view" => "view_import_inscrits",
+ "permission_suffix" => "importer_inscrits",
);

// ACTION - 10 - extraction
@@ -135,11 +157,7 @@
"method" => "prefecture",
"button" => "diffuser",
"permission_suffix" => "tab",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie',
- 'non_archivee'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 13 - web
@@ -256,7 +274,7 @@
"identifier" => "retour_parametrage",
"portlet" => array(
"type" => "action-direct-with-confirmation",
- "libelle" => _("Modifier le paramétrage"),
+ "libelle" => _("Retour à l'étape de paramétrage"),
"order" => 11,
"class" => "edit-16",
),
@@ -373,10 +391,7 @@
"class" => "pdf-16",
),
"view" => "pdf_proclamation_resultat",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 42 - proclamation des résultats par bureau
@@ -389,10 +404,7 @@
"class" => "pdf-16",
),
"view" => "pdf_proclamation_resultat_par_bureau",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 43 - proclamation des résultat avec nombre de sièges
@@ -405,10 +417,7 @@
"class" => "pdf-16",
),
"view" => "pdf_proclamation_resultat_avec_siege",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 44 - proclamation des résultats par périmètre
@@ -421,10 +430,7 @@
"class" => "pdf-16",
),
"view" => "pdf_proclamation_resultat_par_perimetre",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 45 - édition de la participation
@@ -437,10 +443,7 @@
"class" => "pdf-16",
),
"view" => "pdf_participation",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 46 - edition des résultats
@@ -453,10 +456,7 @@
"class" => "pdf-16",
),
"view" => "edition_resultat",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 47 - resultats par perimetre
@@ -469,10 +469,7 @@
"class" => "pdf-16",
),
"view" => "pdf_resultat_perimetre",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 48 - pdf_prefecture
@@ -485,10 +482,7 @@
"class" => "pdf-16",
),
"view" => "pdf_prefecture",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);

// ACTION - 49 - Résultats globaux
@@ -501,10 +495,7 @@
"class" => "pdf-16",
),
"view" => "pdf_resultats_globaux",
- "condition" => array(
- 'pas_etape_parametrage',
- 'pas_etape_saisie'
- )
+ "condition" => 'pas_etape_parametrage'
);
}

@@ -554,13 +545,16 @@
break;
case 'Saisie':
$champsUtilisable = array(
- 'web'
+ 'envoi_initial',
+ 'sieges',
+ 'sieges_com'
);
break;
case 'Finalisation':
$champsUtilisable = array(
- 'web',
- 'envoi_initial'
+ 'envoi_initial',
+ 'sieges',
+ 'sieges_com'
);
break;
default:
@@ -575,6 +569,7 @@
}
}

+ $form->setType("workflow", 'hiddenstatic');
$form->setType("votant_defaut", 'hidden');
$form->setType("is_centaine", 'hidden');
$form->setType("election_reference", 'hidden');
@@ -605,6 +600,8 @@
$form->setLib('delegation_saisie', __('déléguer la saisie'));
$form->setLib('delegation_participation', __('déléguer la saisie de la participation'));
$form->setLib('validation_avant_publication', __('validation obligatoire pour la publication'));
+ $form->setLib('sieges', __('Nombre de siège pour le conseil municipal'));
+ $form->setLib('sieges_com', __('Nombre de sièges pour le conseil communautaire'));
}

/**
@@ -663,6 +660,9 @@
// Fieldset Paramétrage contiens dans l'ordre : publication_auto, publication_erreur, calcul_auto_exprime
$form->setFieldset('publication_auto', 'D', _('Paramétrage'), "collapsible");// bloc
$form->setFieldset('validation_avant_publication', 'F', '');// fin bloc
+ // Fieldset Répartition contiens dans l'ordre : sieges, sieges_com
+ $form->setFieldset('sieges', 'D', _('Répartition'), "collapsible");// bloc
+ $form->setFieldset('sieges_com', 'F', '');// fin bloc
}

/**
@@ -692,6 +692,21 @@
intval($this->f->getParameter("id_default_heure_fermeture"))
);
}
+ // Valeurs par défaut pour les nombres de sièges à répartir pour
+ // l'élection. Si le paramètre n'existe pas, aucune valeur
+ // par défaut n'est positionnée.
+ if ($this->f->getParameter("nb_sieges_default") != "") {
+ $form->setVal(
+ "sieges",
+ intval($this->f->getParameter("nb_sieges_default"))
+ );
+ }
+ if ($this->f->getParameter("nb_sieges_com_default") != "") {
+ $form->setVal(
+ "sieges_com",
+ intval($this->f->getParameter("nb_sieges_com_default"))
+ );
+ }

$form->setVal('tour', '1');
$form->setVal('envoi_initial', 't');
@@ -1381,10 +1396,6 @@
$this->addToMessage(_(" texte structuré type CSV (les données sont séparées par des ;) à"));
$this->addToMessage(_(" transmettre."));
$election=$this->getval('election');
- // Code du département. [2 caractères]
- $departement = str_pad($this->f->getParameter("departement"), 2, "0", STR_PAD_LEFT);
- // Code de la commune. [3 caractères]
- $commune = str_pad($this->f->getParameter("commune"), 3, "0", STR_PAD_LEFT);
$sequence = 0;
// Indicatif. [1 caractère]
// I pour un résultat initial, R pour rectifié
@@ -1456,11 +1467,11 @@
// N° du tour.
$export .= $tour.";";
// Code du département.
- $export .= $departement.";";
+ $export .= $infoUnite['code']['departement'].";";
// Code de la commune
- $export .= $commune.";";
+ $export .= $infoUnite['code']['commune'].";";
// Code du unite de vote. [Vide ou 4 caractères]
- $export .= str_pad($infoUnite['ordre'], 4, "0", STR_PAD_LEFT).";";
+ $export .= str_pad($infoUnite['code']['code_unite'], 4, "0", STR_PAD_LEFT).";";
// TOUTES LES ELECTIONS SAUF LES MUNICIPALES
if ($scrutin != "MN") {
// Code du canton.
@@ -1534,9 +1545,9 @@
// N° du tour.
$export .= $tour.";";
// Code du département.
- $export .= $departement.";";
+ $export .= $infoUnite['code']['departement'].";";
// Code de la commune
- $export .= $commune.";";
+ $export .= $infoUnite['code']['commune'].";";
// Nombre de listes ou de candidats. s);
$export .= $nbcandidats.";";
// Boucle sur les candidats
@@ -1633,10 +1644,8 @@
if ($infoUnite['bureau'] == 't') {
$csv .= $election.";";
//definition des paramètres des informations requises
- $required = array('ordre', 'libelle');
- foreach ($required as $parameter) {
- $csv .= $infoUnite[$parameter].";";
- }
+ $csv .= $infoUnite['code']['code_unite'].";";
+ $csv .= $infoUnite['libelle'].";";
foreach ($infoUnite['resultat'] as $resultat) {
$csv .= $resultat.";";
}
@@ -1996,7 +2005,7 @@
%s
</tr>",
$oddEven = $oddEven === 'even' ? 'odd' : 'even',
- $unite->getVal('ordre'),
+ $unite->getVal('code_unite'),
$uniteElec->getVal('inscrit'),
$uniteElec->getVal('emargement'),
$uniteElec->getVal('votant'),
@@ -2181,7 +2190,7 @@
</tr>",
$oddEven = $oddEven === 'odd' ? 'even' : 'odd',
$unite->getVal('ordre'),
- $unite->getVal('libelle'),
+ $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
$inscrits,
$abstentions,
$votants,
@@ -2379,7 +2388,7 @@
</tr>",
$oddEven = $oddEven === 'odd' ? 'even' : 'odd',
$unite->getVal('ordre'),
- $unite->getVal('libelle'),
+ $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
$inscrits,
$abstentions,
$votants,
@@ -2621,13 +2630,12 @@
// Code html de la participation par unité
$htmlParticipation .= sprintf(
"<tr class=\"%s\">
- <td class=\"bureaux\">%d - %s</td>
+ <td class=\"bureaux\">%s</td>
<td>%d</td>
%s
</tr>",
$oddEven = $oddEven === 'odd' ? 'even' : 'odd',
- $unite->getVal('ordre'),
- $unite->getVal('libelle'),
+ $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
$uniteElec->getVal('inscrit'),
$htmlVotantTranche
);
@@ -2819,7 +2827,7 @@
);

$votant = is_numeric($perimetre->getVal('votant')) ? $perimetre->getVal('votant') : 0;
- $pourcentageVotant = $votant !== 0 ?
+ $pourcentageVotant = $votant != 0 ?
number_format(($resultat / $votant) * 100, 2).'%'
: '0%';
$htmlTotal .= sprintf(
@@ -2860,7 +2868,7 @@

$colonnesTableau = array(
'N°' => $unite->getVal('ordre'),
- 'BUREAUX' => $unite->getVal('libelle'),
+ 'BUREAUX' => $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
'INS' => $inscrit,
'PROC' => $procuration,
'V/EM' => $emargement,
@@ -2970,7 +2978,7 @@
%s
</tr>
</table>",
- $detail ? $unitePer->getVal('libelle') : 'Total général',
+ $detail ? $unitePer->getVal('code_unite').' '.$unitePer->getVal('libelle') : 'Total général',
$htmlEntete,
$htmlContenu,
$detail ? 'total' : 'total-general',
@@ -3032,14 +3040,13 @@
"<tr class=\"%s\">
%s
<td class=\"canton\">%s</td>
- <td class=\"bureau\">%d - %s</td>
+ <td class=\"bureau\">%s</td>
%s
</tr>",
$oddEven,
$htmlResultats,
$unite->getVal('canton_prefecture'),
- $unite->getVal('ordre'),
- $unite->getVal('libelle'),
+ $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
$htmlResultatCan
);

@@ -3158,13 +3165,17 @@
protected function get_info_unites($electionId) {
$infoUnites = array();
$sql = "SELECT
- unite.unite, unite.ordre, unite.libelle, inscrit, votant,
+ unite.unite, unite.ordre, unite.code_unite, unite.libelle, inscrit, votant,
emargement, procuration, exprime, nul, blanc, bureau_vote,
- canton_prefecture, circonscription_prefecture
+ canton_prefecture, circonscription_prefecture,
+ departement.prefecture as departement,
+ commune.prefecture as commune
FROM
".DB_PREFIXE."election_unite
INNER JOIN ".DB_PREFIXE."unite ON election_unite.unite=unite.unite
INNER JOIN ".DB_PREFIXE."type_unite ON unite.type_unite=type_unite.type_unite
+ LEFT JOIN ".DB_PREFIXE."departement ON unite.departement=departement.departement
+ LEFT JOIN ".DB_PREFIXE."commune ON unite.commune=commune.commune
WHERE
election_unite.election = ".
$this->f->db->escapeSimple($electionId)."
@@ -3190,13 +3201,17 @@
);
// Vérification du l'existance et du type des valeurs récupérées
// pour éviter les erreurs lors de leurs utilisations
+ $resultat = array();
foreach ($required as $parameter) {
$resultat[$parameter] = isset($row[$parameter]) && is_numeric($row[$parameter]) ? $row[$parameter] : 0;
}

$code = array(
+ 'code_unite' => $row['code_unite'],
'canton' => $row['canton_prefecture'],
- 'circonscription' => $row['circonscription_prefecture']
+ 'circonscription' => $row['circonscription_prefecture'],
+ 'departement' => $row['departement'],
+ 'commune' => $row['commune']
);

$infoUnites[] = array(
@@ -3461,13 +3476,11 @@

// Vérification que le nombre de siège à répartir est connu et non nul
$temp = 'sieges'.$suffixe;
- if (! array_key_exists($temp, $this->f->collectivite) ||
- empty($this->f->getParameter($temp))
- ) {
+ if (empty($this->getVal($temp))) {
$this->addToMessage('Erreur : le nombre de siège à répartir n\'est pas renseigné ou nul');
return false;
}
- $siege = $this->f->getParameter($temp);
+ $siege = $this->getVal($temp);

// Calcul de la prime majoritaire
$bonus = intval($siege / 2);
@@ -4154,7 +4167,7 @@
<td><img src="%s"></td>
</tr>',
$oddEven,
- $unite->getVal('libelle'),
+ $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
$urlIconeSaisie,
$urlIconeAff,
$urlIconeWeb
@@ -4271,7 +4284,7 @@
%s
</tr>',
$oddEven,
- $unite->getVal('libelle'),
+ $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
$uniteElec->getVal('inscrit'),
$uniteElec->getVal('votant'),
$uniteElec->getVal('emargement'),
@@ -4417,7 +4430,7 @@
<td><img src="%s"></td>
</tr>',
$oddEven,
- $unite->getVal('libelle'),
+ $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
$uniteElec->getVal('inscrit'),
$uniteElec->getVal('emargement'),
$uniteElec->getVal('procuration'),
@@ -4952,19 +4965,22 @@
* @return array liste des candidats
*/
public function get_candidats_election($idElection) {
- $idElectionCandidats= $this->f->simple_query(
- 'election_candidat',
- 'election_candidat',
- 'election',
- $idElection
- );
-
$electionCandidats = array();
- foreach ($idElectionCandidats as $idElectionCandidat) {
- $electionCandidats[] = $this->f->get_element_by_id(
+ if (! empty($idElection)) {
+ $idElectionCandidats= $this->f->simple_query(
'election_candidat',
- $idElectionCandidat
+ 'election_candidat',
+ 'election',
+ $idElection
);
+
+ $electionCandidats = array();
+ foreach ($idElectionCandidats as $idElectionCandidat) {
+ $electionCandidats[] = $this->f->get_element_by_id(
+ 'election_candidat',
+ $idElectionCandidat
+ );
+ }
}
return $electionCandidats;
}
@@ -5236,4 +5252,33 @@
public function non_archivee() {
return ! $this->is_archivee();
}
+
+ /**
+ * VIEW - view_import_inscrits.
+ *
+ * @return void
+ */
+ function view_import_inscrits() {
+ $this->checkAccessibility();
+ $obj = "election_unite";
+ require_once "../obj/import_specific.class.php";
+ $i = new import_specific();
+ $i->compute_import_list();
+ $i->set_params(array("election_id" => $this->getVal($this->clePrimaire)));
+ $i->set_form_action_url($this->getDataSubmit());
+ $i->set_form_back_link_url($this->get_back_link("formulaire"));
+ if (isset($_POST["submit-csv-import"])) {
+ $i->treatment_import($obj);
+ }
+ $i->display_import_form($obj);
+ }
+
+ function getFormTitle($ent) {
+ //
+ if ($this->getParameter("maj") == 5) {
+ return $ent." -> ".__("import des inscrits");
+ }
+ //
+ return parent::getFormTitle($ent);
+ }
}

Modified: branches/2.0.0-develop-import/obj/election_resultat.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/election_resultat.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/election_resultat.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -28,7 +28,7 @@
*/
function get_var_sql_forminc__sql_election_unite() {
$sql = "SELECT election_unite.election_unite, " ;
- $sql .= "concat(election.libelle,' ', unite.ordre, '-', unite.libelle) as lib ";
+ $sql .= "concat(election.libelle,' ', unite.code_unite, ' ', unite.libelle) as lib ";
$sql .= " FROM ".DB_PREFIXE."election_unite ";
$sql .= " inner join ".DB_PREFIXE."unite on election_unite.unite = unite.unite ";
$sql .= " inner join ".DB_PREFIXE."election on election_unite.election = election.election ";
@@ -42,7 +42,7 @@
*/
function get_var_sql_forminc__sql_election_unite_by_id() {
$sql = "SELECT election_unite.election_unite, " ;
- $sql .= "concat(election.libelle,' ', unite.ordre, '-', unite.libelle) as lib ";
+ $sql .= "concat(election.libelle,' ', unite.code_unite, ' ', unite.libelle) as lib ";
$sql .= " FROM ".DB_PREFIXE."election_unite ";
$sql .= " inner join ".DB_PREFIXE."unite on election_unite.unite = unite.unite ";
$sql .= " inner join ".DB_PREFIXE."election on election_unite.election = election.election ";
@@ -121,7 +121,7 @@
* @return string
*/
protected function get_var_sql_forminc__sql_unite() {
- $sql = " SELECT distinct unite.unite, concat (unite.ordre,' - ',unite.libelle) as lib, unite.ordre ";
+ $sql = " SELECT distinct unite.unite, concat (unite.code_unite,' ',unite.libelle) as lib, unite.ordre ";
$sql .= " FROM ".DB_PREFIXE."unite ";
$sql .= " inner join ".DB_PREFIXE."election_unite on election_unite.unite = unite.unite ";
$sql .= " inner join ".DB_PREFIXE."election on election_unite.election = election.election ";
@@ -134,7 +134,7 @@
* @return string
*/
protected function get_var_sql_forminc__sql_unite_by_id() {
- return "SELECT unite.unite, unite.libelle FROM ".DB_PREFIXE."unite WHERE unite = <idx>";
+ return "SELECT unite.unite, concat (unite.code_unite,' ',unite.libelle) FROM ".DB_PREFIXE."unite WHERE unite = <idx>";
}

/**

Modified: branches/2.0.0-develop-import/obj/election_unite.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/election_unite.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/election_unite.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -329,7 +329,7 @@
function get_var_sql_forminc__sql_unite() {
return "SELECT
unite.unite,
- concat(unite.ordre, ' - ', unite.libelle) as lib
+ concat(unite.code_unite, ' ', unite.libelle) as lib
FROM
".DB_PREFIXE."unite
ORDER BY
@@ -343,7 +343,7 @@
function get_var_sql_forminc__sql_unite_by_id() {
return "SELECT
unite.unite,
- concat(unite.ordre, ' - ', unite.libelle) as lib
+ concat(unite.code_unite, ' ', unite.libelle) as lib
FROM
".DB_PREFIXE."unite
WHERE
@@ -590,6 +590,29 @@
}

/**
+ * Vérifie la validité des valeurs en mode CREATE & UPDATE.
+ *
+ * - Vérifie qu'il n'y a pas de conflit lors de la saisie'
+ *
+ * @param array $val Tableau des valeurs brutes.
+ * @param null &$dnu1 @deprecated Ne pas utiliser.
+ * @param null $dnu2 @deprecated Ne pas utiliser.
+ *
+ * @return void
+ */
+ function verifier($val = array(), &$dnu1 = null, $dnu2 = null) {
+ parent::verifier($val, $dnu1, $dnu2);
+ // En cas de conflit de saisie return false et empêche la modification
+ if (array_key_exists('ouverture', $val)) {
+ if ($this->f->conflit_saisie($this, $val['ouverture'])) {
+ $this->addToMessage('Attention: votre modification est en conflit avec la modification précédente!');
+ $this->correct = false;
+ return;
+ }
+ }
+ }
+
+ /**
* TRIGGER - triggermodifier
*
* - Met à jour les résultats des candidats
@@ -604,12 +627,6 @@
* @return boolean false en cas d'erreur
*/
function triggermodifier($id, &$dnu1 = null, $val = array(), $dnu2 = null) {
- // En cas de conflit de saisie return false et empêche la modification
- if ($this->f->conflit_saisie($this, $val['ouverture'])) {
- $this->addToMessage('Attention: votre modification est en conflit avec la modification précédente!');
- return false;
- }
-
// calcul automatique des votes exprimés si l'option est activée. Le calcul est réalisé
// en faisant : exprime = votant - (blanc + nul)
if ($this->calcul_auto_activee()) {
@@ -643,15 +660,6 @@
$this->valF['saisie'] = 'en attente';
}

- // En cas de publication automatique les attributs d'envoi prenne pour valeur
- // par défaut 'vrai'.
- // Si la publication est manuel ces attributs seront vrai si l'utilisateur active
- // l'envoi en cochant la case ou en utilisant l'action
- // Dans tous les cas ces attributs permettent de savoir si les résultats doivent
- // être publiés ou pas
- $envoiAff = $val['envoi_aff'] == 'Oui' ? true : false;
- $envoiWeb = $val['envoi_web'] == 'Oui' ? true : false;
-
$succesAff = $succesWeb = true;
// Publication automatique si :
// * la publication automatique est activée
@@ -664,6 +672,15 @@
($isSaisie && $correcte) ||
$this->publication_erreur_activee())
) {
+ // En cas de publication automatique les attributs d'envoi prenne pour valeur
+ // par défaut 'vrai'.
+ // Si la publication est manuel ces attributs seront vrai si l'utilisateur active
+ // l'envoi en cochant la case ou en utilisant l'action
+ // Dans tous les cas ces attributs permettent de savoir si les résultats doivent
+ // être publiés ou pas
+ $envoiAff = $val['envoi_aff'] == 'Oui' ? true : false;
+ $envoiWeb = $val['envoi_web'] == 'Oui' ? true : false;
+
if ($envoiAff) {
$succesAff = $this->affichage($val);
} elseif ($envoiAff != $this->f->boolean_string_to_boolean($this->getVal('envoi_aff'))) {
@@ -676,6 +693,16 @@
// Dépublie uniquement si les résultats ont déjà été publié
$succesWeb = $this->annuler_web($val);
}
+ } else {
+ // Dans le cas, ou la publication auto est activée, évite d'avoir les
+ // l'unité considérée comme envoyé alors que ses résultats n'ont
+ // pas été transmis
+ if (! $this->f->boolean_string_to_boolean($this->getVal('envoi_aff'))) {
+ $this->valF['envoi_aff'] = false;
+ }
+ if (! $this->f->boolean_string_to_boolean($this->getVal('envoi_web'))) {
+ $this->valF['envoi_web'] = false;
+ }
}

$this->correct = $succesMaj && $succesAff && $succesWeb;
@@ -779,9 +806,7 @@
// Mise à jour des attributs de publication et saisie selon les options choisies
// et l'état de la saisie
if ($this->publication_auto_activee() &&
- (! $isSaisie ||
- ($isSaisie && $valide) ||
- $this->publication_erreur_activee()) &&
+ ($valide || $this->publication_erreur_activee()) &&
$this->est_publiable()
) {
$resultats['envoi_aff'] = true;
@@ -798,25 +823,29 @@
if ($majResultats && $majResCandidats) {
$this->addToMessage($libUnite.' : Les résultats ont été mis à jour');
// Publication animation
- if ($resultats['envoi_aff']) {
- $succesAff = $perimetre->affichage($val);
- $message = $libUnite.' : les résultats ont été envoyé à l\'animation';
- if (! $succesAff) {
- $message = $libUnite.' : Erreur les résultats n\'ont pas été envoyé à l\'animation';
- $succes = false;
+ if (($valide || $this->publication_erreur_activee()) &&
+ $this->est_publiable()
+ ) {
+ if ($resultats['envoi_aff']) {
+ $succesAff = $perimetre->affichage($val);
+ $message = $libUnite.' : les résultats ont été envoyé à l\'animation';
+ if (! $succesAff) {
+ $message = $libUnite.' : Erreur les résultats n\'ont pas été envoyé à l\'animation';
+ $succes = false;
+ }
+ $this->addToMessage($message);
}
- $this->addToMessage($message);
- }

- // Publication web
- if ($resultats['envoi_web']) {
- $succesWeb = $perimetre->web($val);
- $message = $libUnite.' : les résultats ont été envoyé au portail web';
- if (! $succesWeb) {
- $message = $libUnite.' : Erreur les résultats n\'ont pas été envoyé au portail web';
- $succes = false;
+ // Publication web
+ if ($resultats['envoi_web']) {
+ $succesWeb = $perimetre->web($val);
+ $message = $libUnite.' : les résultats ont été envoyé au portail web';
+ if (! $succesWeb) {
+ $message = $libUnite.' : Erreur les résultats n\'ont pas été envoyé au portail web';
+ $succes = false;
+ }
+ $this->addToMessage($message);
}
- $this->addToMessage($message);
}
} else {
$this->addToMessage('Erreur : les résultats n\'ont pas été mis à jour pour : '.$libUnite);
@@ -1137,10 +1166,10 @@
$arrive = $envoi && $saisie;

$contenu[$unite->getVal('unite')] = array(
- 'code' => $unite->getVal('ordre'),
+ 'ordre' => $unite->getVal('ordre'),
'envoie' => $arrive,
'type' => $unite->getVal('type_unite'),
- 'lib' => $unite->getVal('libelle'),
+ 'lib' => $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
'is_last' => $isLast
);
}
@@ -1313,6 +1342,7 @@
// Préparation de toutes les informations à afficher
$unite = $this->f->get_element_by_id('unite', $val['unite']);
$ordre = $unite->getVal('ordre');
+ $code = $unite->getVal('code_unite');
$inscrit = ! empty($val['inscrit']) ? $val['inscrit']: 0;
$votant = ! empty($val['votant'])? $val['votant'] : 0;
$blanc = ! empty($val['blanc'])? $val['blanc'] : 0;
@@ -1382,7 +1412,7 @@
</tr>
%s
</table>",
- $ordre,
+ $code,
$unite->getVal('libelle'),
$inscrit,
$votant,
@@ -1435,7 +1465,7 @@
$contenu .= sprintf(
"<?php
\$unite[%d] = array(
- 'code' => '%s',
+ 'ordre' => '%s',
'etat' => '%s',
'obj' => '',
'libelle' => \"%s - %s\"
@@ -1443,7 +1473,7 @@
$unite->getVal('unite'),
$unite->getVal('ordre'),
$envoi,
- $unite->getVal('ordre'),
+ $unite->getVal('code_unite'),
$unite->getVal('libelle')
);
}
@@ -1674,9 +1704,9 @@
// Récupération de son libellé
$libelle = $unite->getVal("libelle");
// Récupération de son numero d'ordre
- $ordre = $unite->getVal("ordre");
+ $code = $unite->getVal("code_unite");
// Construction de son libellé d'affichage avec son ordre et son libellé
- $newLibelle=$ordre." - ".$libelle;
+ $newLibelle=$code." ".$libelle;
$this->msg .=_("unité")." ".$newLibelle."</br>";
return $newLibelle;
}

Modified: branches/2.0.0-develop-import/obj/import_specific.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/import_specific.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/import_specific.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -42,6 +42,54 @@
var $line_error = array();

/**
+ *
+ */
+ public function set_params($params) {
+ $this->_params = $params;
+ }
+
+ /**
+ *
+ */
+ public function get_params() {
+ if (isset($this->_params) === true) {
+ return $this->_params;
+ }
+ }
+
+ /**
+ *
+ */
+ public function set_form_action_url($url) {
+ $this->_form_action_url = $url;
+ }
+
+ /**
+ *
+ */
+ public function get_form_action_url() {
+ if (isset($this->_form_action_url) === true) {
+ return $this->_form_action_url;
+ }
+ }
+
+ /**
+ *
+ */
+ public function set_form_back_link_url($url) {
+ $this->_form_back_link_url = $url;
+ }
+
+ /**
+ *
+ */
+ public function get_form_back_link_url() {
+ if (isset($this->_form_back_link_url) === true) {
+ return $this->_form_back_link_url;
+ }
+ }
+
+ /**
* Affichage de la liste des imports disponibles.
*
* @return void
@@ -102,6 +150,14 @@
* @return void
*/
protected function display_import_form_unite($obj) {
+ $form_action_url = $this->get_form_action_url();
+ if ($form_action_url === null) {
+ $form_action_url = $this->script_path."?obj=".$obj;
+ }
+ $form_back_link_url = $this->get_form_back_link_url();
+ if ($form_back_link_url === null) {
+ $form_back_link_url = $this->script_path;
+ }
// Paramétrage du formulaire. Il faut d'abordd définir la liste des champs
// 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
@@ -151,10 +207,22 @@
// Affichage du formulaire
echo '<div id="form-csv-import" class="formulaire">';
$this->f->layout->display__form_container__begin(array(
- "action" => $this->script_path."?obj=".$obj,
+ "action" => $form_action_url,
'method' => 'post',
"name" => "f2",
));
+ $this->f->layout->display__form_controls_container__begin(array(
+ "controls" => "top",
+ ));
+ $this->f->layout->display__form_input_submit(array(
+ "name" => "submit-csv-import",
+ "value" => __("Importer"),
+ "class" => "boutonFormulaire",
+ ));
+ $this->f->layout->display_lien_retour(array(
+ "href" => $form_back_link_url,
+ ));
+ $this->f->layout->display__form_controls_container__end();
$form->entete();
$form->afficher($champs, 0, false, false);
$form->enpied();
@@ -166,9 +234,8 @@
"value" => __("Importer"),
"class" => "boutonFormulaire",
));
- // Lien retour
$this->f->layout->display_lien_retour(array(
- "href" => $this->script_path,
+ "href" => $form_back_link_url,
));
$this->f->layout->display__form_controls_container__end();
$this->f->layout->display__form_container__end();
@@ -256,6 +323,14 @@
* @return void
*/
protected function display_import_form_election_unite($obj) {
+ $form_action_url = $this->get_form_action_url();
+ if ($form_action_url === null) {
+ $form_action_url = $this->script_path."?obj=".$obj;
+ }
+ $form_back_link_url = $this->get_form_back_link_url();
+ if ($form_back_link_url === null) {
+ $form_back_link_url = $this->script_path;
+ }
// Paramétrage du formulaire. Il faut d'abordd définir la liste des champs
// 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
@@ -300,46 +375,51 @@
);
$form->setSelect("inscrit", $listesImportable);

- // Récupère l'identifiant de l'élection
- if (! empty($this->f->get_submitted_get_value('idxformulaire'))) {
- $electionId = $this->f->get_submitted_get_value('idxformulaire');
- }
+ echo '<div id="form-csv-import" class="formulaire">';
+ $this->f->layout->display__form_container__begin(array(
+ "action" => $form_action_url,
+ 'method' => 'post',
+ "name" => "f2",
+ ));
+ $this->f->layout->display__form_controls_container__begin(array(
+ "controls" => "top",
+ ));
+ $this->f->layout->display__form_input_submit(array(
+ "name" => "submit-csv-import",
+ "value" => __("Importer"),
+ "class" => "boutonFormulaire",
+ ));
+ // Lien retour
+ $this->f->layout->display_lien_retour(array(
+ "href" => $form_back_link_url,
+ ));
+ $this->f->layout->display__form_controls_container__end();
+ $form->entete();
+ $form->afficher($champs, 0, false, false);

- // Affichage du formulaire
- if (! empty($electionId)) {
- echo '<div id="form-csv-import" class="formulaire">';
- $this->f->layout->display__form_container__begin(array(
- "action" => $this->script_path."?obj=".$obj."&idxformulaire=".$electionId,
- 'method' => 'post',
- "name" => "f2",
- ));
- $form->entete();
- $form->afficher($champs, 0, false, false);
-
- // Légende des champs pour l'import des inscrits
- echo '<div id="legende" class="formulaire">
- LP : Nombre d\'électeurs inscrits en liste principale
- <br>LCM : Nombre d\'électeurs inscrits en liste complémentaire municipale
- <br>LCE : Nombre d\'électeurs inscrits en liste complémentaire européenne
- </div>';
-
- $form->enpied();
- $this->f->layout->display__form_controls_container__begin(array(
- "controls" => "bottom",
- ));
- $this->f->layout->display__form_input_submit(array(
- "name" => "submit-csv-import",
- "value" => __("Importer"),
- "class" => "boutonFormulaire",
- ));
- // Lien retour
- $this->f->layout->display_lien_retour(array(
- "href" => "../app/index.php?module=form&obj=election&action=3&idx=".$electionId,
- ));
- $this->f->layout->display__form_controls_container__end();
- $this->f->layout->display__form_container__end();
- echo "</div>\n";
- }
+ // Légende des champs pour l'import des inscrits
+ echo '<div id="legende" class="formulaire">
+ LP : Nombre d\'électeurs inscrits en liste principale
+ <br>LCM : Nombre d\'électeurs inscrits en liste complémentaire municipale
+ <br>LCE : Nombre d\'électeurs inscrits en liste complémentaire européenne
+ </div>';
+
+ $form->enpied();
+ $this->f->layout->display__form_controls_container__begin(array(
+ "controls" => "bottom",
+ ));
+ $this->f->layout->display__form_input_submit(array(
+ "name" => "submit-csv-import",
+ "value" => __("Importer"),
+ "class" => "boutonFormulaire",
+ ));
+ // Lien retour
+ $this->f->layout->display_lien_retour(array(
+ "href" => $form_back_link_url,
+ ));
+ $this->f->layout->display__form_controls_container__end();
+ $this->f->layout->display__form_container__end();
+ echo "</div>\n";
}

/**
@@ -1181,7 +1261,7 @@
protected function reorganiser_valeur_import_unite($valF) {
$valUnite = array(
'unite' => null,
- 'id_elire' => null,
+ 'id_reu' => null,
'libelle' => null,
'type_unite' => null,
'ordre' => null,
@@ -1203,11 +1283,11 @@
// noté "Id" (avec les guillemets inclus).
// TODO : corriger ce problème
if (array_key_exists("\"Id\"", $valF['Id']) && ! empty($valF['Id']["\"Id\""])) {
- $valUnite['id_elire'] = $valF['Id']["\"Id\""];
+ $valUnite['id_reu'] = $valF['Id']["\"Id\""];
} elseif (array_key_exists('Identifiant du bureau', $valF['Id'])
&& ! empty($valF['Id']['Identifiant du bureau'])
) {
- $valUnite['id_elire'] = $valF['Id']['Identifiant du bureau'];
+ $valUnite['id_reu'] = $valF['Id']['Identifiant du bureau'];
} else {
$msg = 'L\'identifiant du bureau doit être renseigné';
return $msg;
@@ -1216,12 +1296,12 @@
// Récupération du code du bureau.
if (array_key_exists('Code', $valF['Code']) && ! empty($valF['Code']['Code'])) {
$valUnite['ordre'] = $valF['Code']['Code'];
- $valUnite['code_bureau_vote'] = $valF['Code']['Code'];
+ $valUnite['code_unite'] = $valF['Code']['Code'];
} elseif (array_key_exists('Code du bureau', $valF['Code'])
&& ! empty($valF['Code']['Code du bureau'])
) {
$valUnite['ordre'] = $valF['Code']['Code du bureau'];
- $valUnite['code_bureau_vote'] = $valF['Code']['Code du bureau'];
+ $valUnite['code_unite'] = $valF['Code']['Code du bureau'];
} else {
$msg = 'Le code du bureau doit être renseigné';
return $msg;
@@ -1402,8 +1482,11 @@
*/
protected function reorganiser_valeur_import_election_unite($valF) {
// Récupère l'identifiant de l'élection
- if (! empty($this->f->get_submitted_get_value('idxformulaire'))) {
- $electionId = $this->f->get_submitted_get_value('idxformulaire');
+ $params = $this->get_params();
+ if (array_key_exists("election_id", $params) === true
+ && $params["election_id"] != "") {
+ //
+ $electionId = $params["election_id"];
} else {
$this->f->displayMessage("Error", 'Erreur : pas d\'élection associée à \'import');
return 'Erreur : pas d\'élection associée à \'import';
@@ -1629,7 +1712,7 @@
FROM
%s%s
WHERE
- prefecture LIKE '%s'",
+ code LIKE '%s'",
$this->f->db->escapeSimple($table),
$this->f->db->escapeSimple($table),
$this->f->db->escapeSimple(DB_PREFIXE),
@@ -1671,7 +1754,7 @@
INNER JOIN %sunite ON election_unite.unite = unite.unite
WHERE
election = %d AND
- id_elire = %d",
+ id_reu = %d",
$this->f->db->escapeSimple(DB_PREFIXE),
$this->f->db->escapeSimple(DB_PREFIXE),
$this->f->db->escapeSimple($idElection),

Modified: branches/2.0.0-develop-import/obj/lien_unite.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/lien_unite.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/lien_unite.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -56,8 +56,21 @@
if ($maj==0 || $maj==1) {
$form->setType('unite_enfant', "select");
}
+ // Formulaire d'ajout simplifié
+ if ($maj == 5) {
+ $form->setType("lien_unite", "hidden");
+ $form->setType('unite_enfant', "select_multiple");
+ }
}

+ function setValsousformulaire(&$form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire, &$dnu1 = null, $dnu2 = null) {
+ parent::setValsousformulaire($form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire, $dnu1, $dnu2);
+ if ($validation == 0 and $maj == 5) {
+ if ($this->is_in_context_of_foreign_key('unite', $this->retourformulaire))
+ $form->setVal('unite_parent', $idxformulaire);
+ }
+ }
+
/**
* Permet de définir l’attribut “onchange” sur chaque champ.
*
@@ -67,6 +80,11 @@
function setOnchange(&$form, $maj) {
parent::setOnchange($form, $maj);

+ // Suppression du 'verifNum' car il empêche la sélection de plusieurs item dans la liste
+ if ($maj == 5) {
+ $form->setOnchange('unite_enfant', '');
+ }
+
// En cas de changement du champ unite_parent, appel
// la méthode javascript filterSelect qui utilise (via l'URL) le
// snippet_filterselect. Le snippet renvoie ensuite un json contenant la valeur du champ.
@@ -174,7 +192,7 @@
function setSelect(&$form, $maj, &$dnu1 = null, $dnu2 = null) {
parent::setSelect($form, $maj);
//En mode modification ou ajout
- if ($maj == 0 || $maj == 1) {
+ if ($maj == 0 || $maj == 1 || $maj == 5) {
// Initialise le select en fonction de la valeur du champs unite_parent
$form->setSelect(
'unite_enfant',
@@ -243,7 +261,7 @@
// on récupère ainsi la liste de toutes les unités ayant ce type
// c'est cette liste qu'on va afficher dans le select
$sql = "SELECT
- unite, libelle, ordre
+ unite, libelle, code_unite
FROM
".DB_PREFIXE."unite
WHERE
@@ -266,7 +284,9 @@
// tableau de paramétrage du select
while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
$contenu[0][] = $row['unite'];
- $contenu[1][] = $row['ordre'].' - '.$row['libelle'];
+ $contenu[1][] = ! empty($row['code_unite']) ?
+ $row['code_unite'].' - '.$row['libelle'] :
+ $row['libelle'];
}

// on renvoie le tableau de paramètrage du select contenant la liste des unités
@@ -275,6 +295,149 @@
}

/**
+ * SETTER FORM - set_form_default_values
+ *
+ * @param formulaire $form Instance formulaire.
+ * @param integer $maj Identifant numérique de l'action.
+ * @param integer $validation Marqueur de validation du formulaire.
+ *
+ * @return void
+ */
+ function set_form_default_values(&$form, $maj, $validation) {
+ if ($validation == 0 && $maj == 5) {
+ $form->setVal('unite_parent', null, $validation);
+ $form->setVal('lien_unite', null, $validation);
+ $form->setVal('unite_enfant', '', $validation);
+ }
+ }
+
+ /**
+ * Definition des actions disponibles sur la classe
+ *
+ * @return void
+ */
+ function init_class_actions() {
+ parent::init_class_actions();
+
+ $this->class_actions[5] = array(
+ "identifier" => "ajouter_multiple",
+ "permission_suffix" => "ajouter_lien_multiple",
+ "crud" => "create",
+ "method" => "ajouter_multiple"
+ );
+ }
+
+ /**
+ * Récupère les données du formulaire et vérifie si elles sont correct.
+ * Si c'est le cas vérifie si une election, des acteurs et des unités ont
+ * bien été sélectionnés avant de créer les délégations correspondantes.
+ *
+ * @param array $val tableau contenant les valeurs issues du formulaire
+ * @return boolean
+ */
+ protected function ajouter_multiple($val = array()) {
+ $this->begin_treatment(__METHOD__);
+ // Si les verifications precedentes sont correctes, on procede a
+ // la modification, sinon on ne fait rien et on affiche un message
+ // d'echec
+ if ($this->correct) {
+ if (! empty($val['unite_parent']) && ! empty($val['unite_enfant'])) {
+ $parent = $val['unite_parent'];
+ $enfants = explode(";", $val['unite_enfant']);
+ if (is_array($enfants)) {
+ if (! $this->creer_liens_multiple($parent, $enfants)) {
+ $this->addToLog(__METHOD__."(): ERROR", DEBUG_MODE);
+ return $this->end_treatment(__METHOD__, false);
+ }
+ }
+ }
+ } else {
+ // Message d'echec (saut d'une ligne supplementaire avant le
+ // message pour qu'il soit mis en evidence)
+ $this->addToMessage("<br/>".__("SAISIE NON ENREGISTREE")."<br/>");
+ // Return
+ return $this->end_treatment(__METHOD__, false);
+ }
+ return $this->end_treatment(__METHOD__, true);
+ }
+
+ /**
+ * Création dans la base de données de tous les liens entre les
+ * unités enfants sélectionnées et l'unité parent
+ *
+ * @param integer $idUniteParent identifiant de l'unité parent
+ * @param array $unitesEnfant Liste des unités enfants
+ *
+ * @return boolean indique si le traitement à fonctionné
+ */
+ protected function creer_liens_multiple($idUniteParent, $unitesEnfant) {
+ $succes = true;
+ foreach ($unitesEnfant as $idUnite) {
+ if (! empty($idUnite) &&
+ ! empty($idUniteParent) &&
+ ! $this->lien_existe($idUniteParent, $idUnite)
+ ) {
+ $lien = $this->f->get_element_by_id('lien_unite', ']');
+ $data = array(
+ "lien_unite" => null,
+ "unite_parent" => $idUniteParent,
+ "unite_enfant" => $idUnite
+ );
+ if (! $lien->ajouter($data)) {
+ $succes = false;
+ break;
+ }
+ $succes = true;
+ // Message informant l'utilisateur des délégation crées
+ $uniteParent = $this->f->get_element_by_id('unite', $idUniteParent);
+ $uniteEnfant = $this->f->get_element_by_id('unite', $idUnite);
+ $message = sprintf(
+ 'lien : %s -> %s',
+ $uniteParent->getVal('libelle'),
+ $uniteEnfant->getVal('libelle')
+ );
+ $this->addToMessage($message);
+ }
+ }
+ $message = $succes ? 'Les liens ont été ajoutés avec succés' :
+ 'Erreur : la création des liens à échouée';
+ $this->addToMessage($message);
+ return $succes;
+ }
+
+ /**
+ * Requête sql permettant de récupérer la délégation dont l'élection, l'acteur
+ * et l'unité correspondent aux paramétres.
+ * Si un élement est récupéré, la délégation existe.
+ * Renvoie true si la délégation existe et false sinon.
+ *
+ * @param integer id de l'unité parent
+ * @param integer id de l'unité enfant
+ *
+ * @return boolean
+ */
+ protected function lien_existe($idUniteParent, $idUniteEnfant) {
+ $sql = sprintf(
+ 'SELECT
+ lien_unite
+ FROM
+ %slien_unite
+ WHERE
+ unite_parent = %d AND
+ unite_enfant = %d',
+ DB_PREFIXE,
+ $idUniteParent,
+ $idUniteEnfant
+ );
+ $lien = $this->f->db->getOne($sql);
+ if ($this->f->isDatabaseError($lien, true)) {
+ $this->addToLog(__METHOD__." database error:".$lien->getDebugInfo().";", DEBUG_MODE);
+ $this->addToMessage('Erreur lors de la récupération du lien');
+ }
+ return ! empty($lien);
+ }
+
+ /**
* Vérifie la validité des valeurs en mode CREATE & UPDATE.
*
* @param array $val Tableau des valeurs brutes.
@@ -360,4 +523,18 @@
public function validate_unite_enfant($donneeATester) {
return $this->validateur_select_unite($donneeATester, 'unite_enfant');
}
+
+ /**
+ *
+ * @return string
+ */
+ function get_var_sql_forminc__sql_unite_enfant_by_id() {
+ return
+ "SELECT
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
+ FROM
+ ".DB_PREFIXE."unite
+ WHERE
+ unite = <idx>";
+ }
}

Copied: branches/2.0.0-develop-import/obj/om_application_override.class.php (from rev 1047, branches/2.0.0-develop/obj/om_application_override.class.php)
===================================================================
--- branches/2.0.0-develop-import/obj/om_application_override.class.php (rev 0)
+++ branches/2.0.0-develop-import/obj/om_application_override.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,327 @@
+<?php
+/**
+ * Ce script définit la classe 'om_application_override'.
+ *
+ * @package opendebitdeboisson
+ * @version SVN : $Id$
+ */
+
+/**
+ * Définition de la classe 'om_application_override' (om_application).
+ *
+ * Cette classe a pour vocation de recevoir les surcharges suceptibles
+ * (car suffisament générique) d'intégrer le framework.
+ */
+class om_application_override extends application {
+
+ /**
+ * Surcharge - view_main().
+ *
+ * Ajoute la vue 'settings' comme un nouveau module.
+ *
+ * @return void
+ */
+ function view_main() {
+ if ($this->get_submitted_get_value("module") === "settings") {
+ $this->view_module_settings();
+ return;
+ }
+ parent::view_main();
+ }
+
+ /**
+ * VIEW - view_module_settings.
+ *
+ * Gère le menu 'Administration & Paramétrage'.
+ *
+ * @return void
+ */
+ function view_module_settings() {
+ //
+ $this->isAuthorized("settings");
+ $this->setTitle(__("Administration & Paramétrage")." -> ".__("menu"));
+ $this->setFlag(null);
+ $this->display();
+ //
+ printf('
+ <form id="settings-live-search" action="" class="styled" method="post">
+ <div class="filter-icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24px" viewBox="0 0 24 24" height="24px"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path fill="none" d="M0 0h24v24H0z"/></svg>
+ <input type="text" class="text-input" id="filter" value="" placeholder="Rechercher" />
+ </div>
+ </form>');
+ //
+ $list = array();
+ $new_list = null;
+ //
+ $menu_to_display = array();
+
+ // On inclut le fichier de configuration du menu
+ $menu = $this->get_config__menu();
+
+ // Recuperation des variables
+ $scriptAppele = explode("/", $_SERVER["PHP_SELF"]);
+ $scriptAppele = $scriptAppele[ count($scriptAppele) - 1 ];
+ $obj = (isset($_GET['obj']) ? $_GET['obj'] : "");
+
+ //
+ foreach ($menu as $m => $rubrik) {
+ // Gestion des paramètres
+ if (isset($rubrik["parameters"])
+ && is_array($rubrik["parameters"])) {
+ //
+ $flag_parameter = false;
+ //
+ foreach ($rubrik["parameters"] as $parameter_key => $parameter_value) {
+ //
+ if ($parameter_key == "is_settings_view_enabled") {
+ continue;
+ }
+ //
+ if ($this->getParameter($parameter_key) != $parameter_value) {
+ //
+ $flag_parameter = true;
+ break;
+ }
+ }
+ //
+ if ($flag_parameter == true) {
+ // On passe directement a l'iteration suivante de la boucle
+ continue;
+ }
+ }
+ // Gestion des droits d'acces : si l'utilisateur n'a pas la
+ // permission necessaire alors la rubrique n'est pas affichee
+ if (!isset($rubrik['right'])
+ || ( $rubrik['right'] != "menu_parametrage"
+ && $rubrik['right'] != "menu_administration")) {
+ // On passe directement a l'iteration suivante de la boucle
+ continue;
+ }
+ // Initialisation
+ $rubrik_to_display = $rubrik;
+ $elems_in_rubrik_to_display = array();
+ $cpt_links = 0;
+
+
+ // Test des criteres pour determiner si la rubrique est active
+ if (isset($rubrik['open'])) {
+ foreach ($rubrik['open'] as $scriptobj) {
+ // separation du nom de fichier et du obj
+ $scriptobjarray = explode("|", $scriptobj);
+ $cle_script = $scriptobjarray[0];
+ $cle_obj = $scriptobjarray[1];
+
+ $cle_script_ok = true;
+ if ($cle_script != "" and $cle_script != $scriptAppele) {
+ $cle_script_ok = false;
+ }
+ $cle_obj_ok = true;
+ if ($cle_obj != "" and $cle_obj != $obj) {
+ $cle_obj_ok = false;
+ }
+ if ($cle_obj_ok and $cle_script_ok) {
+ $rubrik_to_display["selected"] = "selected";
+ }
+ }
+ }
+
+ // Boucle sur les entrees de menu
+ foreach ($rubrik['links'] as $link) {
+ // Gestion des paramètres
+ if (isset($link["parameters"])
+ && is_array($link["parameters"])) {
+ //
+ $flag_parameter = false;
+ //
+ foreach ($link["parameters"] as $parameter_key => $parameter_value) {
+ //
+ if ($this->getParameter($parameter_key) != $parameter_value) {
+ //
+ $flag_parameter = true;
+ break;
+ }
+ }
+ //
+ if ($flag_parameter == true) {
+ // On passe directement a l'iteration suivante de la boucle
+ continue;
+ }
+ }
+ // Gestion des droits d'acces : si l'utilisateur n'a pas la
+ // permission necessaire alors l'entree n'est pas affichee
+ if (isset($link['right'])
+ && !$this->isAccredited($link['right'], "OR")) {
+ // On passe directement a l'iteration suivante de la boucle
+ continue;
+
+ }
+ //
+ $cpt_links++;
+
+ // Entree de menu
+ if (trim($link['title']) != "<hr />" and trim($link['title']) != "<hr/>"
+ and trim($link['title']) != "<hr>") {
+ // MENU OPEN
+ $link_actif = "";
+ if (isset($link['open'])) {
+ if (gettype($link['open']) == "string") {
+ $link['open'] = array($link['open'],);
+ }
+
+ foreach ($link['open'] as $scriptobj) {
+ // separation du nom de fichier et du obj
+ $scriptobjarray = explode("|", $scriptobj);
+ $cle_script = $scriptobjarray[0];
+ $cle_obj = $scriptobjarray[1];
+
+ $cle_script_ok = true;
+ if ($cle_script != "" and $cle_script != $scriptAppele) {
+ $cle_script_ok = false;
+ }
+ $cle_obj_ok = true;
+ if ($cle_obj != "" and $cle_obj != $obj) {
+ $cle_obj_ok = false;
+ }
+ if ($cle_obj_ok and $cle_script_ok) {
+ $rubrik_to_display["selected"] = "selected";
+ $link["selected"] = "selected";
+ }
+ }
+ }
+ }
+ $elems_in_rubrik_to_display[] = $link;
+ }
+
+ //
+ $rubrik_to_display["links"] = $elems_in_rubrik_to_display;
+ // Si des liens ont ete affiches dans la rubrique alors on
+ // affiche la rubrique
+ if ($cpt_links != 0) {
+ //
+ $menu_to_display[] = $rubrik_to_display;
+ }
+ }
+ //
+
+ //
+
+ foreach ($menu_to_display as $key => $value) {
+ //
+ if ($value["right"] == "menu_parametrage" || $value["right"] == "menu_administration") {
+ //
+ foreach ($value["links"] as $key1 => $value1) {
+ //
+ if (isset($value1["title"]) && $value1["title"] == "<hr/>") {
+ continue;
+ }
+ //
+ if (isset($value1["class"]) && $value1["class"] == "category") {
+ if ($new_list != null) {
+ $list[] = $new_list;
+ }
+ //
+ $new_list = array(
+ "title" => $value1,
+ "list" => array(),
+ );
+ //
+ continue;
+ }
+ //
+ if ($new_list === null) {
+ //
+ $new_list = array(
+ "title" => "",
+ "list" => array(),
+ );
+ } else {
+ $new_list["list"][] = $value1;
+ }
+ }
+ }
+ }
+ if ($new_list !== null) {
+ $list[] = $new_list;
+ }
+
+ $settings = "";
+ foreach ($list as $key => $value) {
+ //
+ $title = sprintf(
+ '<div class="list-group-title">%s</div>',
+ $value["title"]["title"]
+ );
+ $description = "";
+ if (isset($value["title"]["description"])) {
+ $description = $value["title"]["description"];
+ }
+ //
+ $items = "";
+ foreach ($value["list"] as $key2 => $value2) {
+ //
+ $items .= sprintf(
+ '
+ <a href="%s" class="list-group-item %s">
+ <h4 class="list-group-item-heading">%s</h4>
+ <p class="list-group-item-text">%s</p>
+ </a>',
+ $value2["href"],
+ $value2["class"],
+ $value2["title"],
+ (isset($value2["description"]) ? $value2["description"] : "")
+ );
+ }
+ //
+ $settings .= sprintf(
+ '<div class="item">
+ %s
+ %s
+ <div class="list-group">
+ %s
+ </div>
+ </div>',
+ $title,
+ $description,
+ $items
+ );
+ }
+ //
+ printf(
+ '
+ <div id="settings" class="container-fluid">
+ <div class="row">
+ %s
+ </div>
+ </div>
+ ',
+ $settings
+ );
+ }
+
+ /**
+ * Surcharge - set_config__shortlinks().
+ *
+ * Ajout du lien vers la view 'settings' pour le menu 'Administration & Paramétrage'.
+ *
+ * @return void
+ */
+ protected function set_config__shortlinks() {
+ parent::set_config__shortlinks();
+ //
+ $shortlinks = array();
+ $shortlinks[] = array(
+ "title" => __("Administration & Paramétrage"),
+ "description" => __("Menu de tous les écrans d'administration et de paramétrage"),
+ "href" => "../app/index.php?module=settings",
+ "class" => "shortlinks-settings",
+ "right" => "settings",
+ "parameters" => array("is_settings_view_enabled" => true, ),
+ );
+ //
+ $this->config__shortlinks = array_merge(
+ $shortlinks,
+ $this->config__shortlinks
+ );
+ }
+}

Modified: branches/2.0.0-develop-import/obj/om_dbform.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/om_dbform.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/om_dbform.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -26,10 +26,7 @@
$values["aujourdhui"] = date("d/m/Y");
$values["aujourdhui_lettre"] = strftime("%d %B %Y");
$values["maintenant"] = date("h:i");
- $values["collectivite"] = $this->f->getParameter("collectivite");
- $values["commune"] = $this->f->getParameter("commune");
- $values["departement"] = $this->f->getParameter("departement");
- $values["circonscription"] = $this->f->getParameter("circonscription");
+ $values["collectivite"] = $this->f->getParameter("ville");
//
return $values;
}
@@ -44,9 +41,6 @@
$labels["divers"]["aujourdhui_lettre"] = __("Date du jour (Format : 14 janvier 1978)");
$labels["divers"]["maintenant"] = __("Heure (Format : 12:12)");
$labels["divers"]["collectivite"] = __("Nom de la collectivité");
- $labels["divers"]["commune"] = __("Code commune");
- $labels["divers"]["departement"] = __("Code du département");
- $labels["divers"]["circonscription"] = __("Code de la circonscription");
//
return $labels;
}

Modified: branches/2.0.0-develop-import/obj/om_formulaire.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/om_formulaire.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/om_formulaire.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -489,19 +489,9 @@
}

/**
- * WIDGET_FORM - previsualisation.
- *
- * Champ servant à réaliser la prévisualisation des plans.
- * Le champ est composé d'un input, non affiché et d'une icone sur
- * laquelle cliquer pour accéder à la fenêtre modale de prévisualisation.
- *
- * /!\ Le input est nécessaire car il permet de stocker l'uid de l'image
- * à afficher. En effet, depuis le formulaire seul l'identifiant de l'image
- * est accessible. Or c'est l'uid qui est nécessaire pour l'afficher.
- * La solution mise en place consiste à récupérer l'uid à partir de l'identifiant
- * du plan et à stocker cet valeur dans l'input du champ. Ainsi, l'uid est
- * disponible lorsque l'on souhaite afficher l'image
- *
+ * WIDGET_FORM - checkboxdisabled.
+ * Case à cocher qui ne peut pas être modifiée
+ *
* @param string $champ Nom du champ
* @param integer $validation
* @param boolean $DEBUG Parametre inutilise
@@ -508,202 +498,104 @@
*
* @return void
*/
- function previsualisation($champ, $validation, $DEBUG = false) {
- if (!$this->correct) {
- $onchange = null;
- if (isset($this->onchange) &&
- array_key_exists($champ, $this->onchange) &&
- $this->onchange[$champ] != ""
- ) {
- $onchange = $this->onchange[$champ];
- }
- printf(
- '<input type="text" name="%s" id="%s" value="%s"'.
- 'size="%s" maxlength="%s" onchange="%s"'.
- 'class="champFormulaire previsualisation" style="display:none">',
- $champ,
- $champ,
- $this->val[$champ],
- $this->taille[$champ],
- $this->max[$champ],
- $onchange
- );
- printf(
- '<span style="display:none;" data-href="%s" class="form-snippet-plan"><!-- --></span>',
- OM_ROUTE_FORM."&snippet=plan"
- );
+ function checkboxdisabled($champ, $validation, $DEBUG = false) {
+ $value = '';
+ $checked = '';

- // Pour les formulaires en consultation et suppression, la valeur des champs ne peut
- // pas être récupéré à partir du formulaire. Il faut donc récupérer les valeurs
- // enregistrées dans la base pour pouvoir y accéder.
- $action = $this->f->get_submitted_get_value('action');
- $positionX = null;
- $positionY = null;
- if ($action != 0 && $action != 1) { // 0 : ajout, 1 : modif
- $positionX = ! empty($this->val['position_x']) ? $this->val['position_x'] : 0;
- $positionY = ! empty($this->val['position_y']) ? $this->val['position_y'] : 0;
- }
-
- // Code html permettant d'appeller la fonction jscript plan(), lorsque l'on clique
- // sur l'icone de previsualisation. C'est cette fonction qui va permettre d'afficher
- // la fenêtre de prévisualisation
- printf(
- '<a class="voir ui-state-default ui-corner-all" href="javascript:plan(\'%s\', \'%s\', \'%s\');">
- <span class="ui-icon ui-icon-newwin" title="Cliquer ici pour voir le fichier">
- Voir
- </span>
- </a>',
- $champ,
- $positionX,
- $positionY
- );
- return;
+ if ($this->val[$champ] == 1 ||
+ $this->val[$champ] == "t" ||
+ $this->val[$champ] == "Oui"
+ ) {
+ $value = 'Oui';
+ $checked = 'checked';
}

printf(
- '<input type="text" name="%s" id="%s" value="%s" size="%s" maxlength="%s" class="champFormulaire plan" disabled="disabled">',
+ '<input type="%s" name="%s" id="%s" value="%s" size="%s" maxlength="%s"
+ class="champFormulaire" checked ="%s" disabled="disabled">',
+ $this->type[$champ],
$champ,
$champ,
- $this->val[$champ],
+ $value,
$this->taille[$champ],
- $this->max[$champ]
+ $this->max[$champ],
+ $checked
);
}

-
/**
- * SNIPPET_FORM - voir.
+ * NOUVELLE METHODE pour la localisation sur plan
+ * La modification par rapport à la méthode originale est l'appel à la
+ * fonction javascript localisation_plan()
*
- * Code html de la fenêtre de prévisualisation.
- * Réalise l'affichage du plan, avec l'icone positionnée aux coordonnées voulus.
- * Gére aussi le déplacement de l'icone et l'enregistrement de sa position.
+ * localisation
+ * - $select['positiony'][0]="plan";// zone plan
+ * - $select['positiony'][1]="positionx"; // zone coordonnees X
*
- * @return void
+ * @param string $champ Nom du champ
+ * @param integer $validation
+ * @param boolean $DEBUG Parametre inutilise
*/
- protected function snippet__plan() {
- //Affichage de la structure HTML
- if ($this->f->isAjaxRequest()) {
- header("Content-type: text/html; charset=".HTTPCHARSET."");
+ function localisation_plan($champ, $validation, $DEBUG = false) {
+
+ //
+ echo "<input";
+ echo " type=\"text\"";
+ echo " name=\"".$champ."\"";
+ echo " id=\"".$champ."\" ";
+ echo " value=\"".$this->val[$champ]."\"";
+ echo " size=\"".$this->taille[$champ]."\"";
+ echo " maxlength=\"".$this->max[$champ]."\"";
+ echo " class=\"champFormulaire localisation\"";
+ if (!$this->correct) {
+ if (isset($this->onchange) and $this->onchange[$champ] != "") {
+ echo " onchange=\"".$this->onchange[$champ]."\"";
+ }
+ if (isset($this->onkeyup) and $this->onkeyup[$champ] != "") {
+ echo " onkeyup=\"".$this->onkeyup[$champ]."\"";
+ }
+ if (isset($this->onclick) and $this->onclick[$champ] != "") {
+ echo " onclick=\"".$this->onclick[$champ]."\"";
+ }
} else {
- $this->f->setFlag("htmlonly");
- $this->f->display();
+ echo " disabled=\"disabled\"";
}
+ echo " />\n";

- // Récupération des paramétres
- // Initialisation des paramétres
- $params = array(
- 'fic' => array(
- 'default_value' => '',
- ),
- 'x' => array(
- 'default_value' => '0',
- ),
- 'y' => array(
- 'default_value' => '0',
- ),
- );
- // Pour chacun des paramétres, la valeurs correspondante est récupérée dans l'url
- foreach ($this->f->get_initialized_parameters($params) as $key => $value) {
- ${$key} = $value;
+ //
+ if (!$this->correct) {
+ // zone libelle
+ $plan = $this->select[$champ][0][0]; // plan
+ $positionx = $this->select[$champ][0][1];
+ //
+ echo "<a class=\"localisation ui-state-default ui-corner-all\" href=\"javascript:localisation_plan('".$champ."','".$plan."','".$positionx."');\">";
+ echo "<span class=\"ui-icon ui-icon-pin-s\" ";
+ echo "title=\"".__("Cliquer ici pour positionner l'element")."\">";
+ echo __("Localisation");
+ echo "</span>";
+ echo "</a>";
}

- // Si les paramètres nécessaires ne sont pas correctement fournis
- if (empty($fic) || $x === '' || $y === '') {
- // Retour à l'accueil + affichage de l'erreur
- $this->f->displayMessage("error", "Les parametres transmis ne sont pas corrects.");
- return;
- }
-
- // Récupére les informations de l'image. Si aucune image n'est récupérée un
- // message d'erreur est affiché et le traitement est arrété
- $file = $this->f->storage->get($fic);
- if (empty($file)) {
- $this->f->displayMessage("error", "Le fichier n'existe pas ou n'est pas accessible.");
- return;
- }
-
- // Affiche ceci : <! ########## START CONTENT ########## -->
- $this->f->displayStartContent();
- // Affichage du cadre du titre et de son contenu :
- // Voir -> [nom_fichier.extension]
- $this->f->setTitle('Voir -> [&nbsp;'.$file['metadata']['filename'].'&nbsp;]');
- $this->f->displayTitle();
-
- // Si le fichier est une image alors on affiche l'image
- $listeExtension = array(
- 'image/gif',
- 'image/jpg',
- 'image/jpeg',
- 'image/png'
- );
- if (in_array($file['metadata']['mimetype'], $listeExtension)) {
-
- $base64 = chunk_split(base64_encode($file['file_content']));
- printf(
- '<div id="voir">
- <div id="previsu" style="background-image: url(\'data:%s;base64,%s\'); background-size: 100%% 100%%; width: 800px; height: 600px;">
- <div id="camap" style="background-image: url(\'img/img_unite_arrivee.gif\'); width: 80px; height: 41px;
- position: relative; left: %dpx; top: %dpx">
- </div>
- </div>
- <script>
- $().ready(function() {
- $("#camap").draggable({
- stop: function() {
- var relativeX = $("#camap").offset().left - $("#previsu").offset().left;
- var relativeY = $("#camap").offset().top - $("#previsu").offset().top;
- $("#position_x").val(Math.round(relativeX));
- $("#position_y").val(Math.round(relativeY));
- }
- });
- });
- </script>
- </div>',
- $file['metadata']['mimetype'],
- str_replace(array("\r", "\n", "\r\n"), array('', '', ''), $base64),
- $x, //positionX
- $y //positionY
- );
- }
- // Affiche le bouton "Fermer" en bas de la fenêtre modale
- $this->f->displayLinkJsCloseWindow();
- // Affiche ceci : <! ########## END CONTENT ########## -->
- $this->f->displayEndContent();
}

/**
- * WIDGET_FORM - checkboxdisabled.
- * Case à cocher qui ne peut pas être modifiée
+ * NOUVELLE METHODE pour la localisation sur plan
+ * La modification para rapport à la méthode originale est l'appel à la
+ * fonction javascript localisation_plan()
*
+ * localisation
+ * - $select['positiony'][0]="plan";// zone plan
+ * - $select['positiony'][1]="positionx"; // zone coordonnees X
+ *
* @param string $champ Nom du champ
* @param integer $validation
* @param boolean $DEBUG Parametre inutilise
- *
- * @return void
*/
- function checkboxdisabled($champ, $validation, $DEBUG = false) {
- $value = '';
- $checked = '';
-
- if ($this->val[$champ] == 1 ||
- $this->val[$champ] == "t" ||
- $this->val[$champ] == "Oui"
- ) {
- $value = 'Oui';
- $checked = 'checked';
- }
-
- printf(
- '<input type="%s" name="%s" id="%s" value="%s" size="%s" maxlength="%s"
- class="champFormulaire" checked ="%s" disabled="disabled">',
- $this->type[$champ],
- $champ,
- $champ,
- $value,
- $this->taille[$champ],
- $this->max[$champ],
- $checked
- );
+ function localisation_plan_static($champ, $validation, $DEBUG = false) {
+ //
+ $this->selectstatic($champ, $validation, $DEBUG);
+ //
+ echo "<a href=\"../app/localisation_plan_view.php?idx=".$this->val["plan_unite"]."&amp;obj=plan_unite&amp;retour=form#camap0\"><span title=\"Visualiser sur plan\" class=\"om-icon om-icon-16 om-icon-fix sig-16\">Plan</span></a>";
}
}
?>

Modified: branches/2.0.0-develop-import/obj/openresultat.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/openresultat.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/openresultat.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -56,10 +56,15 @@
require_once PATH_OPENMAIRIE."om_application.class.php";

/**
- *
+ * Surcharges du framework à réintégrer
*/
-class openresultat extends application {
+require_once "../obj/om_application_override.class.php";

+/**
+ * Définition de la classe *openresultat* (om_application).
+ */
+class openresultat extends om_application_override {
+
/**
* Gestion du nom de l'application.
*
@@ -98,6 +103,24 @@
}

/**
+ * Surcharge - getParameter().
+ *
+ * Force les paramètres suivants aux valeurs suivantes :
+ * - is_settings_view_enabled = true
+ *
+ * @return mixed
+ */
+ function getParameter($param = null) {
+ // openRésultat est fait pour fonctionner avec la view 'settings'
+ // pour gérer le menu 'Administration & Paramétrage'. On force donc le
+ // paramètre.
+ if ($param == "is_settings_view_enabled") {
+ return true;
+ }
+ return parent::getParameter($param);
+ }
+
+ /**
* Renvoie, pour une chaines de caractères 't' ou 'f',
* le booleen correspondant.
*
@@ -636,6 +659,7 @@
$rubrik = array(
"title" => _("application"),
"class" => "application",
+ "right" => "menu_application",
);
//
$links = array();
@@ -642,16 +666,26 @@
//
// --->
//
+ $links[] = array(
+ "href" => OM_ROUTE_DASHBOARD,
+ "class" => "dashboard",
+ "title" => __("Tableau de bord"),
+ "open" => array(
+ "index.php|[module=dashboard]",
+ "index.php|[module=map][mode=tab_sig][obj=carte_globale]",
+ ),
+ );
+ $links[] = array(
+ "title" => "<hr/>",
+ );

$links[] = array(
"href" => OM_ROUTE_TAB."&obj=election",
"class" => "election",
- "title" => _("election"),
+ "title" => _("élection"),
"right" => array("election", "election_tab", ),
"open" => array(
- "tab.php|election",
"index.php|election[module=tab]",
- "form.php|election",
"index.php|election[module=form]",
),
);
@@ -662,22 +696,29 @@
"title" => _("détail résultat"),
"right" => array("election_resultat", "election_resultat_tab", ),
"open" => array(
- "tab.php|election_resultat",
"index.php|election_resultat[module=tab]",
- "form.php|election_resultat",
"index.php|election_resultat[module=form]",
),
);
-
+
$links[] = array(
+ "href" => OM_ROUTE_TAB."&obj=participation_unite",
+ "class" => "participation_unite",
+ "title" => _("détail participation"),
+ "right" => array("participation_unite", "participation_unite_tab", ),
+ "open" => array(
+ "index.php|participation_unite[module=tab]",
+ "index.php|participation_unite[module=form]",
+ ),
+ );
+
+ $links[] = array(
"href" => OM_ROUTE_TAB."&obj=election_cloturee",
"class" => "election_cloturee",
"title" => _("élection archivée"),
"right" => array("election_cloturee", "election_cloturee_tab", ),
"open" => array(
- "tab.php|election_cloturee",
"index.php|election_cloturee[module=tab]",
- "form.php|election_cloturee",
"index.php|election_cloturee[module=form]",
),
);
@@ -693,22 +734,20 @@
$rubrik = array(
"title" => _("parametrage metier"),
"class" => "parametrage",
+ "right" => "menu_parametrage",
+ "parameters" => array("is_settings_view_enabled" => false, ),
);
//
$links = array();

-
-
$links[] = array(
- "href" => OM_ROUTE_TAB."&obj=type_unite",
- "class" => "type_unite",
- "title" => _("type d'unité"),
- "right" => array("type_unite", "type_unite_tab", ),
- "open" => array(
- "tab.php|type_unite",
- "index.php|type_unite[module=tab]",
- "form.php|type_unite",
- "index.php|type_unite[module=form]",
+ "class" => "category",
+ "title" => __("élection"),
+ "right" => array(
+ "unite", "unite_tab", "type_unite", "type_unite_tab",
+ "candidat", "candidat_tab", "parti_politique", "parti_politique_tab",
+ "type_election", "type_election_tab", "tranche", "tranche_tab",
+ "acteur", "acteur_tab",
),
);

@@ -717,38 +756,34 @@
"href" => OM_ROUTE_TAB."&obj=unite",
"class" => "unite",
"title" => _("unité"),
+ "description" => __("Paramétrage des unités de saisie et des périmètres. Une élection se déroule sur un périmètre (département, canton, commune, ...) qui se compose d'unités de saisie (bureau de vote, commune, ...)."),
"right" => array("unite", "unite_tab", ),
"open" => array(
- "tab.php|unite",
"index.php|unite[module=tab]",
- "form.php|unite",
"index.php|unite[module=form]",
),
);

$links[] = array(
- "href" => OM_ROUTE_TAB."&obj=lien_unite",
- "class" => "lien_unite",
- "title" => _("lien entre les unités"),
- "right" => array("lien_unite", "lien_unite_tab", ),
+ "href" => OM_ROUTE_TAB."&obj=type_unite",
+ "class" => "type_unite",
+ "title" => _("type d'unité"),
+ "description" => __("Paramétrage des types d'unités permettant de catégoriser et de hierarchiser les unités de saisie."),
+ "right" => array("type_unite", "type_unite_tab", ),
"open" => array(
- "tab.php|lien_unite",
- "index.php|lien_unite[module=tab]",
- "form.php|lien_unite",
- "index.php|lien_unite[module=form]",
+ "index.php|type_unite[module=tab]",
+ "index.php|type_unite[module=form]",
),
);

-
$links[] = array(
"href" => OM_ROUTE_TAB."&obj=candidat",
"class" => "candidat",
"title" => _("candidat"),
+ "description" => _("Paramétrage des candidats disponibles lors de la configuration d'une élection."),
"right" => array("candidat", "candidat_tab", ),
"open" => array(
- "tab.php|candidat",
"index.php|candidat[module=tab]",
- "form.php|candidat",
"index.php|candidat[module=form]",
),
);
@@ -757,11 +792,10 @@
"href" => OM_ROUTE_TAB."&obj=parti_politique",
"class" => "parti_politique",
"title" => _("parti politique"),
+ "description" => _("Paramétrage des partis politiques disponibles lors de la configuration d'une élection."),
"right" => array("parti_politique", "parti_politique_tab", ),
"open" => array(
- "tab.php|parti_politique",
"index.php|parti_politique[module=tab]",
- "form.php|parti_politique",
"index.php|parti_politique[module=form]",
),
);
@@ -770,11 +804,10 @@
"href" => OM_ROUTE_TAB."&obj=type_election",
"class" => "type_election",
"title" => _("type d'élection"),
+ "description" => _("Paramétrage des types d'élection (Présidentielle, Municipales, ...) disponibles lors de la création d'une élection."),
"right" => array("type_election", "type_election_tab", ),
"open" => array(
- "tab.php|type_election",
"index.php|type_election[module=tab]",
- "form.php|type_election",
"index.php|type_election[module=form]",
),
);
@@ -783,86 +816,69 @@
"href" => OM_ROUTE_TAB."&obj=tranche",
"class" => "tranche",
"title" => _("tranche"),
+ "description" => _("Paramétrage des tranches horaires de participation disponibles lors de la création d'une élection."),
"right" => array("tranche", "tranche_tab", ),
"open" => array(
- "tab.php|tranche",
"index.php|tranche[module=tab]",
- "form.php|tranche",
"index.php|tranche[module=form]",
),
);

+ $links[] = array(
+ "href" => OM_ROUTE_TAB."&obj=acteur",
+ "class" => "acteur",
+ "title" => _("acteur"),
+ "description" => __("Paramétrage des acteurs disponibles pour la configurationde des délégations. Un acteur sert pour la pérennité de la configuration (pas d'utilisation d'om_utilisateur)."),
+ "right" => array("acteur", "acteur_tab", ),
+ "open" => array(
+ "index.php|acteur[module=tab]",
+ "index.php|acteur[module=form]",
+ ),
+ );
+
// Categorie dédiée aux affichages (web et animations)
$links[] = array(
"class" => "category",
"title" => __("Affichage"),
"right" => array(
- "om_etat", "om_etat_tab", "om_sousetat", "om_sousetat_tab",
- "om_lettretype", "om_lettretype_tab", "om_requete", "om_requete_tab",
- "om_logo", "om_logo_tab",
+ "animation", "animation_tab", "web", "web_tab",
+ "plan", "plan_tab",
),
);

$links[] = array(
- "href" => OM_ROUTE_TAB."&obj=animation",
- "class" => "animation",
- "title" => _("animation"),
- "right" => array("animation", "animation_tab", ),
- "open" => array(
- "tab.php|animation",
- "index.php|animation[module=tab]",
- "form.php|animation",
- "index.php|animation[module=form]",
- ),
- );
-
- $links[] = array(
"href" => OM_ROUTE_TAB."&obj=web",
"class" => "web",
"title" => _("web"),
+ "description" => __("Paramétrage du portail web."),
"right" => array("web", "web_tab", ),
"open" => array(
- "tab.php|web",
"index.php|web[module=tab]",
- "form.php|web",
"index.php|web[module=form]",
),
);

- // Categorie dédiée aux plans
$links[] = array(
- "class" => "category",
- "title" => __("Plan"),
- "right" => array(
- "om_etat", "om_etat_tab", "om_sousetat", "om_sousetat_tab",
- "om_lettretype", "om_lettretype_tab", "om_requete", "om_requete_tab",
- "om_logo", "om_logo_tab",
- ),
- );
-
- $links[] = array(
"href" => OM_ROUTE_TAB."&obj=plan",
"class" => "plan",
"title" => _("plan"),
+ "description" => __("Paramétrage des plans permettant d'illustrer l'arrivée des resultats dans le portail Web."),
"right" => array("plan", "plan_tab", ),
"open" => array(
- "tab.php|plan",
"index.php|plan[module=tab]",
- "form.php|plan",
"index.php|plan[module=form]",
),
);

$links[] = array(
- "href" => OM_ROUTE_TAB."&obj=plan_unite",
- "class" => "plan_unite",
- "title" => _("plan unite"),
- "right" => array("plan_unite", "plan_unite_tab", ),
+ "href" => OM_ROUTE_TAB."&obj=animation",
+ "class" => "animation",
+ "title" => _("animation"),
+ "description" => __("Paramétrage des modèles d'animations pouvant être utilisés comme bases lors de la configuration de l'élection."),
+ "right" => array("animation", "animation_tab", ),
"open" => array(
- "tab.php|plan_unite",
- "index.php|plan_unite[module=tab]",
- "form.php|plan_unite",
- "index.php|plan_unite[module=form]",
+ "index.php|animation[module=tab]",
+ "index.php|animation[module=form]",
),
);

@@ -871,9 +887,9 @@
"class" => "category",
"title" => __("découpage administratif"),
"right" => array(
- "om_etat", "om_etat_tab", "om_sousetat", "om_sousetat_tab",
- "om_lettretype", "om_lettretype_tab", "om_requete", "om_requete_tab",
- "om_logo", "om_logo_tab",
+ "canton", "canton_tab",
+ "circonscription", "circonscription_tab", "commune", "commune_tab",
+ "departement", "departement_tab",
),
);

@@ -881,11 +897,10 @@
"href" => OM_ROUTE_TAB."&obj=canton",
"class" => "canton",
"title" => _("canton"),
+ "description" => __("Paramétrage des cantons (circonscription d'élection des conseillers départementaux, membres du conseil départemental). Rattach à l'unité de type bureau de vote, le paramétrage permet principalement de rensiegner le code préfecture pour l'export sinsi que le libellé pour les éditions."),
"right" => array("canton", "canton_tab", ),
"open" => array(
- "tab.php|canton",
"index.php|canton[module=tab]",
- "form.php|canton",
"index.php|canton[module=form]",
),
);
@@ -894,11 +909,10 @@
"href" => OM_ROUTE_TAB."&obj=circonscription",
"class" => "circonscription",
"title" => _("circonscription"),
+ "description" => __("Paramétrage des circonscriptions (circonscription législatives d'élection des députés de la chambre basse du Parlement français, l'Assemblée nationale). Rattachée à l'unité de type bureau de vote, le paramétrage permet principalement de rensiegner le code préfecture pour l'export sinsi que le libellé pour les éditions."),
"right" => array("circonscription", "circonscription_tab", ),
"open" => array(
- "tab.php|circonscription",
"index.php|circonscription[module=tab]",
- "form.php|circonscription",
"index.php|circonscription[module=form]",
),
);
@@ -907,11 +921,10 @@
"href" => OM_ROUTE_TAB."&obj=commune",
"class" => "commune",
"title" => _("commune"),
+ "description" => __("Paramétrage des communes. Rattachée à l'unité de type bureau de vote, le paramétrage permet principalement de rensiegner le code préfecture pour l'export sinsi que le libellé pour les éditions."),
"right" => array("commune", "commune_tab", ),
"open" => array(
- "tab.php|commune",
"index.php|commune[module=tab]",
- "form.php|commune",
"index.php|commune[module=form]",
),
);
@@ -920,57 +933,14 @@
"href" => OM_ROUTE_TAB."&obj=departement",
"class" => "departement",
"title" => _("département"),
+ "description" => __("Paramétrage des départements. Rattaché à l'unité de type bureau de vote, le paramétrage permet principalement de rensiegner le code préfecture pour l'export sinsi que le libellé pour les éditions."),
"right" => array("departement", "departement_tab", ),
"open" => array(
- "tab.php|departement",
"index.php|departement[module=tab]",
- "form.php|departement",
"index.php|departement[module=form]",
),
);

- $links[] = array(
- "class" => "category",
- "title" => __("délegation saisie"),
- "right" => array(
- "om_etat", "om_etat_tab", "om_sousetat", "om_sousetat_tab",
- "om_lettretype", "om_lettretype_tab", "om_requete", "om_requete_tab",
- "om_logo", "om_logo_tab",
- ),
- );
-
- $links[] = array(
- "href" => OM_ROUTE_TAB."&obj=acteur",
- "class" => "acteur",
- "title" => _("acteur"),
- "right" => array("acteur", "acteur_tab", ),
- "open" => array(
- "tab.php|acteur",
- "index.php|acteur[module=tab]",
- "form.php|acteur",
- "index.php|acteur[module=form]",
- ),
- );
-
- //
- $links[] = array(
- "class" => "category",
- "title" => __("Imports"),
- "right" => array(
- "om_etat", "om_etat_tab", "om_sousetat", "om_sousetat_tab",
- "om_lettretype", "om_lettretype_tab", "om_requete", "om_requete_tab",
- "om_logo", "om_logo_tab",
- ),
- );
-
- $links[] = array(
- "href" => '../app/import_specific.php?obj=unite',
- "class" => "import_unite",
- "title" => _("Importer les Unités"),
- "right" => array("import", ),
- "open" => array("import_specific.php|", ),
- );
-
$rubrik['links'] = $links;
//
$menu[] = $rubrik;

Modified: branches/2.0.0-develop-import/obj/participation_election.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/participation_election.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/participation_election.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -267,8 +267,8 @@
foreach ($unites as $uniteElec) {
$unite = $this->f->get_element_by_id('unite', $uniteElec->getVal('unite'));
$libelle = $unite->getVal('libelle');
- $ordre = $unite->getVal('ordre');
- $form->setLib('unite'.$uniteElec->getVal('unite'), $ordre.' - '.$libelle);
+ $code = $unite->getVal('code_unite');
+ $form->setLib('unite'.$uniteElec->getVal('unite'), $code.' '.$libelle);
}
}

@@ -306,6 +306,37 @@
}
}

+ /**
+ * Vérifie la validité des valeurs en mode CREATE & UPDATE.
+ *
+ * - Vérifie qu'il n'y a pas de conflit lors de la saisie'
+ *
+ * @param array $val Tableau des valeurs brutes.
+ * @param null &$dnu1 @deprecated Ne pas utiliser.
+ * @param null $dnu2 @deprecated Ne pas utiliser.
+ *
+ * @return void
+ */
+ function verifier($val = array(), &$dnu1 = null, $dnu2 = null) {
+ parent::verifier($val, $dnu1, $dnu2);
+ // En cas de conflit de saisie empêche la modification
+ if (array_key_exists('ouverture', $val)) {
+ if ($this->f->conflit_saisie($this, $val['ouverture'])) {
+ $this->addToMessage('Attention: votre modification est en conflit avec la modification précédente!');
+ $this->correct = false;
+ return;
+ }
+ // Vérifie qu'il n'y pas de conflit avec la saisie de la participation par unité
+ $participationsUnite = $this->get_participations_unite();
+ foreach ($participationsUnite as $participationUnite) {
+ if ($participationUnite->f->conflit_saisie($participationUnite, $val['ouverture'])) {
+ $this->addToMessage('Attention: votre modification est en conflit avec la modification précédente!');
+ $this->correct = false;
+ return;
+ }
+ }
+ }
+ }

/**
* TRIGGER - triggermodifier.
@@ -321,20 +352,6 @@
* @return boolean
*/
function triggermodifier($id, &$dnu1 = null, $val = array(), $dnu2 = null) {
- // En cas de conflit de saisie empêche la modification
- if ($this->f->conflit_saisie($this, $val['ouverture'])) {
- $this->addToMessage('Attention: votre modification est en conflit avec la modification précédente!');
- return false;
- }
- // Vérifie qu'il n'y pas de conflit avec la saisie de la participation par unité
- $participationsUnite = $this->get_participations_unite();
- foreach ($participationsUnite as $participationUnite) {
- if ($participationUnite->f->conflit_saisie($participationUnite, $val['ouverture'])) {
- $this->addToMessage('Attention: votre modification est en conflit avec la modification précédente!');
- return false;
- }
- }
-
$succes = $this->maj_participation_unite($val);

// Si la participation a été saisie et que la mise à jour à réussi
@@ -503,7 +520,7 @@
$unite = $this->f->get_element_by_id('unite', $uniteElection->getVal('unite'));
$contenu = array(
'election' => $election->getVal('libelle'),
- 'unite_libelle' => $unite->getVal('libelle'),
+ 'unite_libelle' => $unite->getVal('code_unite').' '.$unite->getVal('libelle'),
'inscrit' => $uniteElection->getVal('inscrit'),
'votant' => $uniteElection->getVal('votant'),
'exprime' => $uniteElection->getVal('exprime'),

Modified: branches/2.0.0-develop-import/obj/participation_unite.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/participation_unite.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/participation_unite.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -29,7 +29,7 @@
function get_var_sql_forminc__sql_election_unite() {
return "SELECT
election_unite.election_unite,
- concat(election.libelle,' - ',unite.libelle) as lib
+ concat(election.libelle,' - ', unite.code_unite,' ', unite.libelle) as lib
FROM
".DB_PREFIXE."election_unite
INNER JOIN ".DB_PREFIXE."election
@@ -47,7 +47,7 @@
function get_var_sql_forminc__sql_election_unite_by_id() {
return "SELECT
election_unite.election_unite,
- concat(election.libelle,' - ',unite.libelle) as lib
+ concat(election.libelle,' - ', unite.code_unite,' ', unite.libelle) as lib
FROM
".DB_PREFIXE."election_unite
INNER JOIN ".DB_PREFIXE."election

Modified: branches/2.0.0-develop-import/obj/plan.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/plan.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/plan.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -18,28 +18,9 @@
parent::setLib($form, $maj);
$form->setLib('image_plan', 'image plan');
$form->setLib('largeur_icone', 'largeur des icones');
- $form->setLib('hauteur_icone', 'hauteur des icones');
}

/**
- * SETTER FORM - set_form_default_values
- *
- * Par défaut les images ont un format : l = 80 px et h = 50 px
- *
- * @param formulaire $form Instance formulaire.
- * @param integer $maj Identifant numérique de l'action.
- * @param integer $validation Marqueur de validation du formulaire.
- *
- * @return void
- */
- function set_form_default_values(&$form, $maj, $validation) {
- if ($validation==0 and $maj==0) {
- $form->setVal('largeur_icone', 80);
- $form->setVal('hauteur_icone', 40);
- }
- }
-
- /**
* Récupére chaque lien entre le plan et les unités
*
* @return array liste d'instance des plan_unite lié au plan

Modified: branches/2.0.0-develop-import/obj/plan_election.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/plan_election.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/plan_election.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -279,12 +279,8 @@
//Récupération du paramétrage de chaque lien entre le plan et des unités
$paramsPlansUnite = array();
foreach ($planUnite->champs as $id => $champs) {
- // Le champ previsualisation ne correspond pas a un élément dans
- // la base de donné. IL n'a donc pas de valeur associé et pour
- // éviter les erreurs il doit être évité
- if ($champs != 'previsualisation') {
- $paramsPlansUnite[$champs] = $planUnite->val[$id];
- }
+ $paramsPlansUnite[$champs] = $planUnite->val[$id];
+
if (in_array($champs, $images) && ! empty($planUnite->val[$id])) {
$infoImage = $this->f->storage->get($planUnite->val[$id]);
$extension = $this->f->get_extension($infoImage['metadata']);

Modified: branches/2.0.0-develop-import/obj/plan_unite.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/plan_unite.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/plan_unite.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -7,35 +7,6 @@
class plan_unite extends plan_unite_gen {

/**
- * Definition des actions disponibles sur la classe
- *
- * @return void
- */
- function init_class_actions() {
- parent::init_class_actions();
- // ACTION - 10 - uid
- // Permet de récupèrer l'uid du plan choisi et de le renvoyer
- // sous format json.
- $this->class_actions[10] = array(
- 'identifier' => 'uid',
- "view" => "get_uid_plan",
- "permission_suffix" => "json"
- );
- }
-
- /**
- * Constructeur.
- *
- * @param string $id Identifiant de l'objet.
- * @param null &$dnu1 @deprecated Ne pas utiliser.
- * @param null $dnu2 @deprecated Ne pas utiliser.
- */
- function __construct($id, &$dnu1 = null, $dnu2 = null) {
- $this->constructeur($id);
- $this->champs[] = 'previsualisation';
- }
-
- /**
* SETTER FORM - setLib
*
* @param formulaire $form Instance formulaire.
@@ -47,11 +18,8 @@
parent::setLib($form, $maj);
$form->setLib('img_unite_arrivee', 'unités arrivées');
$form->setLib('img_unite_non_arrivee', 'unités non arrivées');
- $form->setLib('texte_image', 'texte');
- $form->setLib('couleur_texte', 'couleur du texte');
$form->setLib('position_x', '[X]');
$form->setLib('position_y', '[Y]');
- $form->setLib('previsualisation', 'prévisualisation');
$form->setLib('largeur_icone', 'largeur des icones');
}

@@ -74,16 +42,14 @@
$form->setFieldset('img_unite_arrivee', 'D', ' '._('Affichage icônes').' ', 'collapsible');
$form->setBloc('img_unite_arrivee', 'D', "", "group");
$form->setBloc('img_unite_non_arrivee', 'F');
- $form->setBloc('texte_image', 'D', "", "group");
- $form->setBloc('couleur_texte', 'F');
- $form->setFieldset('couleur_texte', 'F', '');
+ $form->setFieldset('img_unite_non_arrivee', 'F', '');

// Fieldset adresse contiens dans l'ordre : adresse1, 2, code postal, ville
// le geom, les coordonnées, la longitude et la latitude
$form->setFieldset('position_x', 'D', ' '._('Positionnement').' ', 'collapsible');
$form->setBloc('position_x', 'D', "", "group");
- $form->setBloc('previsualisation', 'F');
- $form->setFieldset('previsualisation', 'F', '');
+ $form->setBloc('position_y', 'F');
+ $form->setFieldset('position_y', 'F', '');
}

/**
@@ -96,43 +62,30 @@
*/
function setType(&$form, $maj) {
parent::setType($form, $maj);
- $form->setType('previsualisation', 'previsualisation');
if ($maj < 2) {
+ $form->setType('position_y', 'localisation_plan');
$form->setType('couleur_texte', 'hexa');
}
- }

- /**
- * Methode setTaille
- */
- function setTaille(&$form, $maj) {
- parent::setTaille($form, $maj);
- $form->setTaille("previsualisation", 30);
+ if ($maj == 3) {
+ $form->setType('position_x', 'hidden');
+ $form->setType('position_y', 'hidden');
+ $form->setType('plan', 'localisation_plan_static');
+ }
}

- /**
- * Methode setMax
- */
- function setMax(&$form, $maj) {
- parent::setMax($form, $maj);
- $form->setMax("previsualisation", 100);
+ function setSelect(&$form, $maj, &$dnu1 = null, $dnu2 = null) {
+ parent::setSelect($form, $maj);
+ // MODE AJOUTER & MODE MODIFIER
+ if ($maj == 0 || $maj == 1) {
+ // Localisation
+ $contenu = array();
+ $contenu[0] = array('plan', 'position_x');
+ $form->setSelect("position_y", $contenu);
+ }
}

/**
- * Permet de définir l’attribut “onchange” sur chaque champ.
- *
- * @param object &$form Formumaire
- * @param integer $maj Mode d'insertion
- */
- function setOnchange(&$form, $maj) {
- parent::setOnchange($form, $maj);
- $form->setOnchange(
- 'plan',
- "setPlanValue(this.value);"
- );
- }
-
- /**
* SETTER FORM - set_form_default_values
*
* Par défaut les position en x et y de l'unité sont mise à 0
@@ -144,31 +97,6 @@
* @return void
*/
function set_form_default_values(&$form, $maj, $validation) {
- // Pour pouvoir accéder à la fenêtre de prévisualisation, il faut que le champ
- // de prévisualisation ait pour valeur l'uid du plan.
- // La récupération de l'uid se fait à partir de l'instance du plan dont l'id
- // est sélectionné dans le champ plan du formulaire.
- // Pour fonctionner correctement, il faut donc récupérer un uid par défaut dans deux cas :
- // 1- Si un plan a déjà été choisi, dans le cas d'une modification par exemple.
- // Dans ce cas, l'id du plan est celui enregistré dans le formulaire.
- // 2- Dans le cas où la valeur de plan est directement séléctionné. C'est le cas
- // lorsqu'un plan-unité est ajouté depuis le sous formulaire des plans.
- // Dans ce cas, l'id du plan est récupéré depuis le paramétre 'idx' de l'url
- if (!empty($this->getVal('plan'))) {
- $plan = $this->f->get_inst__om_dbform(array(
- 'obj' => 'plan',
- 'idx' => $this->getVal('plan')
- ));
- $uid = $plan->getVal('image_plan');
- $form->setVal('previsualisation', $uid);
- } elseif ($this->is_in_context_of_foreign_key("plan", $this->retourformulaire)) {
- $plan = $this->f->get_inst__om_dbform(array(
- 'obj' => 'plan',
- 'idx' => $this->f->get_submitted_get_value('idxformulaire')
- ));
- $uid = $plan->getVal('image_plan');
- $form->setVal('previsualisation', $uid);
- }
if ($validation==0 and $maj==0) {
$form->setVal('position_x', 0);
$form->setVal('position_y', 0);
@@ -176,44 +104,33 @@
}

/**
- * Vérifie que l'identifiant du plan est correct, c'est à dire
- * qu'il a le format attendu et qu'il existe dans la base.
*
- * @return boolean true : valide, false : non valide
+ * @return string
*/
- protected function validateur_identifiant_plan($planId) {
- // Vérifie que le format de l'identifiant est correct
- $formatCorrect = $this->f->validateur_entier_positif($planId);
- // Vérifie que le plan existe dans la BD
- $res = $this->f->simple_query('plan', 'plan', 'plan', $planId);
- return $formatCorrect && ! empty($res);
+ function get_var_sql_forminc__sql_unite() {
+ return "SELECT
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
+ FROM
+ ".DB_PREFIXE."unite
+ WHERE
+ ((unite.om_validite_debut IS NULL AND
+ (unite.om_validite_fin IS NULL OR unite.om_validite_fin > CURRENT_DATE)) OR
+ (unite.om_validite_debut <= CURRENT_DATE AND
+ (unite.om_validite_fin IS NULL OR unite.om_validite_fin > CURRENT_DATE)))
+ ORDER BY
+ unite.libelle ASC";
}

/**
- * Récupère l'id du plan à partir de l'url. Avec cet id récupère
- * l'instance du plan puis la valeur de 'image_plan' (son uid).
- * Renvoie un json contenant l'uid.
+ *
+ * @return string
*/
- function get_uid_plan() {
- // Il est nécessaire de désactiver les logs car si les modes VERBOSE, EXTRA VERBOSE, etc
- // sont activé, les logs sont affichés en HTML ce qui casse le format json attendu en sortie
- $this->f->disableLog();
-
- //Pour pouvoir récupérer le plan, il faut son identifiant
- $planId = $this->f->get_submitted_get_value('plan');
- if (empty($planId) || ! $this->validateur_identifiant_plan($planId)) {
- // code retour 404 car l'identifiant du plan est invalide, son uid ne
- // peut donc pas être récupéré
- header('HTTP/1.1 404 Not Found');
- return;
- }
-
- // Récupération du plan correspondant afin d'accéder à son uid
- $plan = $this->f->get_inst__om_dbform(array(
- 'obj' => 'plan',
- 'idx' => $planId
- ));
- $uid = $plan->getVal('image_plan');
- echo json_encode(array('uid' => $uid));
+ function get_var_sql_forminc__sql_unite_by_id() {
+ return "SELECT
+ unite.unite, concat(unite.code_unite, ' ', unite.libelle)
+ FROM
+ ".DB_PREFIXE."unite
+ WHERE
+ unite = <idx>";
}
}

Modified: branches/2.0.0-develop-import/obj/tranche.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/tranche.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/tranche.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -19,4 +19,26 @@
// format du type : 00:00:00
$form->setOnchange('libelle', 'ftime(this)');
}
+
+ /**
+ * Vérifie la validité des valeurs en mode CREATE & UPDATE.
+ *
+ * - Vérifie que le libellé a bien le format d'un date
+ *
+ * @param array $val Tableau des valeurs brutes.
+ * @param null &$dnu1 @deprecated Ne pas utiliser.
+ * @param null $dnu2 @deprecated Ne pas utiliser.
+ *
+ * @return void
+ */
+ function verifier($val = array(), &$dnu1 = null, $dnu2 = null) {
+ parent::verifier($val);
+ if (! is_string($val['libelle']) ||
+ (preg_match('{^[0-9]{1,2}:[0-9]{2}\z}', $val['libelle']) == false &&
+ preg_match('{^[0-9]{1,2}:[0-9]{2}:[0-9]{2}\z}', $val['libelle']) == false)
+ ) {
+ $this->addToMessage('Le format du libellé est incorrect');
+ $this->correct = false;
+ }
+ }
}

Modified: branches/2.0.0-develop-import/obj/unite.class.php
===================================================================
--- branches/2.0.0-develop-import/obj/unite.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/obj/unite.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -31,6 +31,20 @@
"view" => "view_is_bureau",
"permission_suffix" => "json",
);
+ // ACTION - 009 - import-unites
+ //
+ $this->class_actions[9] = array (
+ "identifier" => "import-unites",
+ "view" => "view_import_unites",
+ "permission_suffix" => "importer",
+ );
+ // ACTION - 010 - change_libelle
+ //
+ $this->class_actions[10] = array (
+ "identifier" => "change_libelle",
+ "view" => "view_code_obligatoire",
+ "permission_suffix" => "json",
+ );
}


@@ -43,7 +57,7 @@
// ré-ordonne les champs pour pouvoir les afficher correctement dans setLayout
return array(
"unite",
- "id_elire",
+ "id_reu",
"libelle",
"type_unite",
"ordre",
@@ -61,7 +75,7 @@
"type_unite_contenu",
"om_validite_debut",
"om_validite_fin",
- "code_bureau_vote",
+ "code_unite",
"canton",
"circonscription",
"commune",
@@ -79,7 +93,7 @@
*/
function setType(&$form, $maj) {
parent::setType($form, $maj);
- $form->setType('id_elire', 'hiddenstatic');
+ $form->setType('id_reu', 'hiddenstatic');
//Les coordonnées, la latitude et la longitude sont récupérées automatiquement via l'adresse
//elles n'ont pas besoin d'être affichées et saisies lors de l'ajout et de la modification
if ($maj<2) {
@@ -86,22 +100,6 @@
$form->setType('coordinates', 'hiddenstatic');
$form->setType('lon', 'hiddenstatic');
$form->setType('lat', 'hiddenstatic');
- $form->setType('code_bureau_vote', 'textdisabled');
- $form->setType('canton', 'select_undisplayed');
- $form->setType('circonscription', 'select_undisplayed');
- $form->setType('commune', 'select_undisplayed');
- $form->setType('departement', 'select_undisplayed');
- //En modification si une unité à un comportement de BV, ses champs de code
- //doivent être modifiable. Cependant, par défaut ils ne sont pas affichés.
- //Il faut donc leur donner le type select_display pour les mettre dans
- //leur état d'affichage
- if ($maj == 1 && $this->is_bureau($this->getVal('type_unite'))) {
- $form->setType('code_bureau_vote', 'text');
- $form->setType('canton', 'select_displayed');
- $form->setType('circonscription', 'select_displayed');
- $form->setType('commune', 'select_displayed');
- $form->setType('departement', 'select_displayed');
- }
}
}

@@ -121,8 +119,8 @@

$form->setOnchange(
'type_unite',
- "comportement_bureau(this.value);
- filterSelect(this.value,'type_unite_contenu','type_unite','unite');"
+ "filterSelect(this.value,'type_unite_contenu','type_unite','unite');
+ obligatoireSelonType(this.value)"
);
}

@@ -138,9 +136,8 @@
//libelle des champs
parent::setLib($form, $maj);

- $form->setLib('type_unite', 'type : ');
- $form->setLib('id_elire', 'id ELIRE');
- $form->setLib('ordre', __('code unité'));
+ $form->setLib('type_unite', 'type');
+ $form->setLib('id_reu', 'id REU');
$form->setLib('canton_prefecture', __('canton'));
$form->setLib('circonscription_prefecture', __('circonscription'));
$form->setLib('adresse1', 'adresse : ');
@@ -149,14 +146,18 @@
$form->setLib('ville', __('ville'));
$form->setLib('geom', '');
$form->setLib('coordinates', '');
- $form->setLib('type_unite_contenu', 'type voulu : ');
- $form->setLib('code_bureau_vote', 'code bureau : ');
- $form->setLib('canton', 'canton : ');
- $form->setLib('circonscription', 'circonscription : ');
- $form->setLib('commune', 'commune : ');
- $form->setLib('departement', 'departement : ');
+ $form->setLib('type_unite_contenu', 'type voulu');
+ $form->setLib('code_unite', 'code unite');
$form->setLib('om_validite_debut', 'début de validité');
$form->setLib('om_validite_fin', 'fin de validité');
+
+ // Le champ est marqué comme obligatoire si l'unité à un type ayant
+ // un comportement de bureau de vote
+ if (! empty($this->getVal('type_unite'))) {
+ if ($this->is_bureau($this->getVal('type_unite'))) {
+ $form->setLib('code_unite', 'code unite *');
+ }
+ }
}

/**
@@ -197,8 +198,8 @@

// Fieldset code contiens dans l'ordre : code bureau, canton,
// circonscription, commune, departement
- $form->setFieldset('code_bureau_vote', 'D', ' '._('code').' ', 'collapsible');
- $form->setBloc('code_bureau_vote', 'D', "", "group");
+ $form->setFieldset('code_unite', 'D', ' '._('code').' ', 'collapsible');
+ $form->setBloc('code_unite', 'D', "", "group");
$form->setBloc('departement', 'F');
$form->setFieldset('departement', 'F', '');

@@ -259,6 +260,15 @@
if (! $this->isUnique('libelle', $val['libelle'])) {
$this->addToMessage('ATTENTION : une unité portant ce nom existe déjà !');
}
+ $typeUnite = $this->f->get_element_by_id('type_unite', $val['type_unite']);
+ if ($this->f->boolean_string_to_boolean($typeUnite->getVal('bureau_vote'))) {
+ if (empty($val['code_unite'])) {
+ $this->addToMessage('Le code unité est obligatoire pour les bureaux de vote !');
+ $this->correct = false;
+ $result = false;
+ }
+ }
+
return $result;
}

@@ -484,6 +494,39 @@
}

/**
+ * VIEW - view_code_obligatoire.
+ *
+ * Ecris un tableau json :
+ * 'is_bureau' => $is_bureau -> booléen indiquant si
+ * le type d'unité est un bureau ou pas
+ *
+ * @return void
+ */
+ function view_code_obligatoire() {
+ // Il est nécessaire de désactiver les logs car si les modes VERBOSE, EXTRA VERBOSE, etc
+ // sont activé, les logs sont affichés en HTML ce qui casse le format json attendu en sortie
+ $this->f->disableLog();
+ $id_type_unite = $this->f->get_submitted_get_value('type_unite');
+ if (! $this->validate_type_unite($id_type_unite)) {
+ // code retour 404 car la valeur du champ du select est invalide donc on ne peut
+ // trouver aucun objet avec
+ header('HTTP/1.1 404 Not Found');
+ return;
+ }
+ // Si l'unité est de type bureau de vote alors le libelle prend une '*'
+ // pour être signalé comme obligatoire
+ if ($this->is_bureau($id_type_unite)) {
+ echo json_encode(array(
+ 'libelle' => 'code unite *'
+ ));
+ return;
+ }
+ echo json_encode(array(
+ 'libelle' => 'code unite'
+ ));
+ }
+
+ /**
* Indique si une unité est un bureau en fonction de son type
* @return boolean
*/
@@ -591,4 +634,35 @@
public function is_perimetre() {
return $this->f->boolean_string_to_boolean($this->getVal('perimetre'));
}
+
+ /**
+ * VIEW - view_import_unites.
+ *
+ * @return void
+ */
+ function view_import_unites() {
+ $this->checkAccessibility();
+ $obj = "unite";
+ require_once "../obj/import_specific.class.php";
+ $i = new import_specific();
+ $i->compute_import_list();
+ $i->set_form_action_url($this->getDataSubmit());
+ $i->set_form_back_link_url($this->get_back_link("formulaire"));
+ if (isset($_POST["submit-csv-import"])) {
+ $i->treatment_import($obj);
+ }
+ $i->display_import_form($obj);
+ }
+
+ /**
+ *
+ *
+ * @return string
+ */
+ function getFormTitle($ent) {
+ if ($this->getParameter("maj") == 9) {
+ return $ent." -> ".__("import");
+ }
+ return parent::getFormTitle($ent);
+ }
}

Modified: branches/2.0.0-develop-import/sql/pgsql/delegation.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/delegation.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/delegation.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -9,7 +9,7 @@
$tab_actions['corner']['ajouter_multiple'] =
array('lien' => ''.OM_ROUTE_SOUSFORM.'&obj='.$obj.'&amp;action=5&amp;idx=0',
'id' => '&amp;tri='.$tricolsf.'&amp;objsf='.$obj.'&amp;premiersf='.$premier.'&amp;retourformulaire='.$retourformulaire.'&amp;idxformulaire='.$idxformulaire.'&amp;trisf='.$tricolsf.'&amp;retour=tab',
- 'lib' => '<span class="om-icon om-icon-16 om-icon-fix mut-add-16" title="'._('Ajouter plusieurs').'">'._('Ajouter plusieurs').'</span>',
+ 'lib' => '<span class="om-icon om-icon-16 om-icon-fix add-multiple-delegation-16" title="'._('Ajouter plusieurs').'">'._('Ajouter plusieurs').'</span>',
'rights' => array('list' => array($obj, $obj.'_ajouter'), 'operator' => 'OR'),
);

@@ -19,4 +19,12 @@
) {
$tab_actions['corner']['ajouter'] = null;
$tab_actions['corner']['ajouter_multiple'] = null;
-}
\ No newline at end of file
+}
+
+// SELECT
+$champAffiche = array(
+ 'delegation.delegation as "'.__("delegation").'"',
+ 'election.libelle as "'.__("election").'"',
+ 'concat(unite.code_unite, \' \', unite.libelle) as "'.__("unité").'"',
+ 'acteur.nom as "'.__("acteur").'"',
+ );

Modified: branches/2.0.0-develop-import/sql/pgsql/delegation_participation.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/delegation_participation.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/delegation_participation.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -19,7 +19,7 @@
$champAffiche = array(
'election_unite.election_unite as "'.__("id").'"',
'election.libelle as "'.__("election").'"',
- 'unite.libelle as "'.__("unité").'"',
+ 'concat(unite.code_unite, \' \', unite.libelle) as "'.__("unité").'"',
'resultat_participation_unite.votant as "'.__("votant").'"',
"case
resultat_participation_unite.saisie

Modified: branches/2.0.0-develop-import/sql/pgsql/election.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/election.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/election.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -40,6 +40,9 @@

$selection = " where is_centaine is not true AND workflow NOT LIKE 'Archivage'";

+// SORT
+$tri = " ORDER BY election.date, election.libelle ";
+
$sousformulaire_parameters = array(
"election_candidat" => array(
"title" => _("candidat(s)")

Modified: branches/2.0.0-develop-import/sql/pgsql/election_resultat.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/election_resultat.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/election_resultat.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -3,8 +3,14 @@
//gen openMairie le 01/07/2019 17:23

include "../gen/sql/pgsql/election_resultat.inc.php";
+
$ent .= " -> "._("détail des résultats");
$tab_title = _("détail résultats");
+
+// Impossible d'ajouter un enregistrement manuellement, il faut passer par les
+// actions de l'élection, donc on cache l'action ajouter
+$tab_actions['corner']['ajouter'] = null;
+
$table = DB_PREFIXE."election_resultat
LEFT JOIN ".DB_PREFIXE."election_unite
ON election_resultat.election_unite = election_unite.election_unite
@@ -23,7 +29,7 @@
'election_resultat.election_resultat as "'.__("id").'"',
'election.libelle as "'.__("élection").'"',
'candidat.libelle as "'.__("candidat").'"',
- 'unite.libelle as "'.__("unité").'"',
+ 'concat(unite.code_unite, \' \', unite.libelle) as "'.__("unité").'"',
'election_resultat.resultat as "'.__("résultat").'"',
);


Modified: branches/2.0.0-develop-import/sql/pgsql/election_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/election_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/election_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -4,6 +4,8 @@

include "../gen/sql/pgsql/election_unite.inc.php";

+// Impossible d'ajouter un enregistrement manuellement, il faut passer par les
+// actions de l'élection, donc on cache l'action ajouter
$tab_actions['corner']['ajouter'] = null;

// parametrage du nombre de unite a afficher sur une page
@@ -11,19 +13,15 @@
$serie=$this->getParameter('nombre_unite');
}

-$tri=" order by unite.ordre ";
-$table = DB_PREFIXE."election_unite
- LEFT JOIN ".DB_PREFIXE."unite
- ON election_unite.unite=unite.unite
- LEFT JOIN ".DB_PREFIXE."election
- ON election_unite.election=election.election
- LEFT JOIN ".DB_PREFIXE."unite_exprime
- ON election_unite.election_unite=unite_exprime.election_unite
- ";
+// SORT
+$tri = " ORDER BY election.date, election.libelle, unite.ordre ";
+
// SELECT
+$displayed_field__election = 'election.libelle as "'.__("election").'"';
$champAffiche = array(
'election_unite.election_unite as "'.__("id").'"',
- 'concat(unite.ordre,\' - \',unite.libelle) as "'.__("unité").'"',
+ $displayed_field__election,
+ 'concat(unite.code_unite, \' \', unite.libelle) as "'.__("unité").'"',
'unite.perimetre as "'.__("perimetre").'"',
'election_unite.inscrit as "'.__("inscrit").'"',
'election_unite.votant as "'.__("votant").'"',
@@ -34,9 +32,9 @@
'election_unite.exprime as "'.__("exprimé").'"',
"case election_unite.saisie
when 'en attente' then
- '<img src=../app/img/nonarrive.png>'
+ '<span class=\"om-icon om-icon-16 wait-election_unite-16\" title=\"en attente\">en attente</span>'
when 'correcte' then
- '<img src=../app/img/arrive.png>'
+ '<span class=\"om-icon om-icon-16 done-election_unite-16\" title=\"arrivée\">arrivée</span>'
else
'<img src=../app/img/erreur.png>'
end as
@@ -67,3 +65,10 @@
end as
\"".__("validation")."\"",
);
+
+// Dans le contexte d'une élection
+if (in_array($retourformulaire, $foreign_keys_extended["election"])) {
+ // La colonne élection n'est pas nécessaire
+ $champAffiche = array_diff($champAffiche, array($displayed_field__election, ));
+ $champRecherche = array_diff($champRecherche, array($displayed_field__election, ));
+}

Modified: branches/2.0.0-develop-import/sql/pgsql/lien_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/lien_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/lien_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -4,8 +4,28 @@

include "../gen/sql/pgsql/lien_unite.inc.php";

-$tab_title = _("Liens entre les unités");
+$tab_title = _("lien entre unités");

+if ($retourformulaire === null || $retourformulaire === "") {
+ // Lien dans le listing des lien_unite vers le formulaire d'ajout multiple
+ $tab_actions['corner']['ajouter_multiple'] = array(
+ 'lien' => ''.OM_ROUTE_FORM.'&obj='.$obj.'&amp;action=5&amp;idx=0',
+ 'id' => '&amp;tri='.$tricolsf.'&amp;objsf='.$obj.'&amp;premiersf='.$premier.'&amp;retourformulaire='.$retourformulaire.'&amp;idxformulaire='.$idxformulaire.'&amp;trisf='.$tricolsf.'&amp;retour=tab',
+ 'lib' => '<span class="om-icon om-icon-16 om-icon-fix add-multiple-lien_unite-16" title="'._('Ajouter plusieurs').'">'._('Ajouter plusieurs').'</span>',
+ 'rights' => array('list' => array($obj, $obj.'_ajouter'), 'operator' => 'OR'),
+ 'ordre' => 20,
+ );
+} else {
+ // Lien dans le listing des lien_unite vers le formulaire d'ajout multiple
+ $tab_actions['corner']['ajouter_multiple'] = array(
+ 'lien' => OM_ROUTE_SOUSFORM.'&obj='.$obj.'&action=5&idx=0',
+ 'id' => '&amp;advs_id='.$advs_id.'&amp;premiersf='.$premier.'&amp;trisf='.$tricol.'&amp;valide='.$valide.'&amp;retourformulaire='.$retourformulaire.'&amp;idxformulaire='.$idxformulaire.'&amp;retour=tab',
+ 'lib' => '<span class="om-icon om-icon-16 om-icon-fix add-multiple-lien_unite-16" title="'._('Ajouter plusieurs').'">'._('Ajouter plusieurs').'</span>',
+ 'rights' => array('list' => array($obj, $obj.'_ajouter'), 'operator' => 'OR'),
+ 'ordre' => 20,
+ );
+}
+
$table = DB_PREFIXE."lien_unite
LEFT JOIN ".DB_PREFIXE."unite as unite0
ON lien_unite.unite_enfant = unite0.unite
@@ -15,7 +35,7 @@

$champAffiche = array(
'lien_unite.lien_unite as "'.__("id").'"',
- 'unite0.libelle as "'.__("unite enfant").'"',
+ 'concat(unite0.code_unite, \' \', unite0.libelle) as "'.__("unité enfant").'"',
'unite0.ordre as "'.__("ordre").'"',
- 'unite1.libelle as "'.__("unite parent").'"',
+ 'concat(unite1.code_unite, \' \', unite1.libelle) as "'.__("unité parent").'"',
);

Modified: branches/2.0.0-develop-import/sql/pgsql/participation_election.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/participation_election.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/participation_election.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,6 +1,10 @@
<?php
-//$Id$
-//gen openMairie le 05/06/2019 15:59
+/**
+ * Ce script contient la définition des variables de l'objet *participation_election*.
+ *
+ * @package openresultat
+ * @version SVN : $Id$
+ */

include "../gen/sql/pgsql/participation_election.inc.php";


Modified: branches/2.0.0-develop-import/sql/pgsql/participation_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/participation_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/participation_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -3,8 +3,14 @@
//gen openMairie le 30/05/2019 16:11

include "../gen/sql/pgsql/participation_unite.inc.php";
+
$ent .= " -> "._("détail des participations");
$tab_title = _("détail participations");
+
+// Impossible d'ajouter un enregistrement manuellement, il faut passer par les
+// actions de l'élection, donc on cache l'action ajouter
+$tab_actions['corner']['ajouter'] = null;
+
$table = DB_PREFIXE."participation_unite
LEFT JOIN ".DB_PREFIXE."election_unite
ON participation_unite.election_unite=election_unite.election_unite
@@ -21,7 +27,7 @@
$champAffiche = array(
'participation_unite.participation_unite as "'.__("id").'"',
'election.libelle as "'.__("élection").'"',
- 'unite.libelle as "'.__("unité").'"',
+ 'concat(unite.code_unite, \' \', unite.libelle) as "'.__("unité").'"',
'tranche.libelle as "'.__("tranche").'"',
'participation_unite.votant as "'.__("votant").'"'
);

Deleted: branches/2.0.0-develop-import/sql/pgsql/plan.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/plan.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/plan.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,14 +0,0 @@
-<?php
-//$Id$
-//gen openMairie le 16/12/2020 17:02
-
-include "../gen/sql/pgsql/plan.inc.php";
-
-// FROM
-$table = DB_PREFIXE."plan";
-
-$champAffiche = array(
- 'plan.plan as "'.__("plan").'"',
- 'plan.libelle as "'.__("libellé").'"',
- 'plan.image_plan as "'.__("image plan").'"'
- );

Deleted: branches/2.0.0-develop-import/sql/pgsql/plan_unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/plan_unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/plan_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,20 +0,0 @@
-<?php
-//$Id$
-//gen openMairie le 16/12/2020 17:03
-
-include "../gen/sql/pgsql/plan_unite.inc.php";
-
-// FROM
-$table = DB_PREFIXE."plan_unite
- LEFT JOIN ".DB_PREFIXE." plan
- ON plan_unite.plan=plan.plan
- LEFT JOIN ".DB_PREFIXE." unite
- ON plan_unite.unite=unite.unite";
-
-$champAffiche = array(
- 'plan_unite.plan_unite as "'.__("plan unite").'"',
- 'plan.libelle as "'.__("plan").'"',
- 'unite.libelle as "'.__("unite").'"',
- 'plan_unite.position_x as "'.__("[X]").'"',
- 'plan_unite.position_y as "'.__("[Y]").'"'
- );

Copied: branches/2.0.0-develop-import/sql/pgsql/plan_unite.inc.php (from rev 1047, branches/2.0.0-develop/sql/pgsql/plan_unite.inc.php)
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/plan_unite.inc.php (rev 0)
+++ branches/2.0.0-develop-import/sql/pgsql/plan_unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,14 @@
+<?php
+//$Id$
+//gen openMairie le 04/05/2021 16:02
+
+include "../gen/sql/pgsql/plan_unite.inc.php";
+
+// SELECT
+$champAffiche = array(
+ 'plan_unite.plan_unite as "'.__("plan_unite").'"',
+ 'plan.libelle as "'.__("plan").'"',
+ 'concat(unite.code_unite, \' \', unite.libelle) as "'.__("unite").'"',
+ 'plan_unite.position_x as "'.__("position_x").'"',
+ 'plan_unite.position_y as "'.__("position_y").'"',
+ );
\ No newline at end of file

Deleted: branches/2.0.0-develop-import/sql/pgsql/tranche.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/tranche.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/tranche.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -1,7 +0,0 @@
-<?php
-//$Id$
-//gen openMairie le 31/07/2019 10:01
-
-include "../gen/sql/pgsql/tranche.inc.php";
-
-$sousformulaire = array();

Modified: branches/2.0.0-develop-import/sql/pgsql/unite.inc.php
===================================================================
--- branches/2.0.0-develop-import/sql/pgsql/unite.inc.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/sql/pgsql/unite.inc.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -4,24 +4,37 @@

include "../gen/sql/pgsql/unite.inc.php";

+// FROM
$table = DB_PREFIXE."unite
+ LEFT JOIN ".DB_PREFIXE."canton
+ ON unite.canton=canton.canton
+ LEFT JOIN ".DB_PREFIXE."circonscription
+ ON unite.circonscription=circonscription.circonscription
+ LEFT JOIN ".DB_PREFIXE."commune
+ ON unite.commune=commune.commune
+ LEFT JOIN ".DB_PREFIXE."departement
+ ON unite.departement=departement.departement
LEFT JOIN ".DB_PREFIXE."type_unite
ON unite.type_unite=type_unite.type_unite
";

+// SELECT
+$displayed_field__perimetre__case = "CASE unite.perimetre WHEN 't' THEN 'Oui' ELSE '' END";
+$displayed_field__perimetre = $displayed_field__perimetre__case." as \"".__("périmètre")."\"";
$champAffiche = array(
- 'unite.unite as "'.__("unité").'"',
- 'unite.perimetre as "'.__("périmètre").'"',
- 'unite.libelle as "'.__("libellé").'"',
+ 'unite.unite as "'.__("id").'"',
+ 'unite.libelle as "'.__("libelle").'"',
+ 'unite.ordre as "'.__("ordre").'"',
'type_unite.libelle as "'.__("type").'"',
- 'unite.ordre as "'.__("code unité").'"',
- 'unite.canton_prefecture as "'.__("canton").'"',
- 'unite.circonscription_prefecture as "'.__("circonscription").'"',
+ 'unite.code_unite as "'.__("code unité").'"',
+ "concat(canton.libelle, ' (',canton.code, ')[', canton.prefecture, ']') as \"".__("canton")."\"",
+ "concat(circonscription.libelle, ' (',circonscription.code, ')[', circonscription.prefecture, ']') as \"".__("circonscription")."\"",
'unite.adresse1 as "'.__("adresse 1").'"',
'unite.adresse2 as "'.__("adresse 2").'"',
'unite.cp as "'.__("cp").'"',
'unite.ville as "'.__("ville").'"',
- );
+ $displayed_field__perimetre,
+);

$sousformulaire = array(
'lien_unite',
@@ -32,3 +45,34 @@
"title" => _("Lien entre les unités")
)
);
+
+
+if (isset($retourformulaire) === false || $retourformulaire === "") {
+ // Action import-unites
+ $tab_actions["corner"]["import-unites"] = array(
+ "lien" => OM_ROUTE_FORM."&obj=".$obj."&action=9&idx=0",
+ "id" => "&advs_id=".$advs_id."&premier=".$premier."&tricol=".$tricol."&valide=".$valide."&retour=tab",
+ "lib" => "<span class=\"om-icon om-icon-16 om-icon-fix import-unites-16\" title=\""._("Importer")."\">"._("Importer")."</span>",
+ "rights" => array("list" => array($obj, $obj."_importer"), "operator" => "OR"),
+ );
+} else {
+ $tab_actions['corner']['ajouter'] = null;
+}
+
+// Gestion des options du listing
+if (!isset($options)) {
+ $options = array();
+}
+// Option condition périmètre : permet d'ajouter la classe css unite-perimetre
+// sur chaque enregistrement qui est un périmètre.
+$option_condition_perimetre = array(
+ "type" => "condition",
+ "field" => $displayed_field__perimetre__case,
+ "case" => array(
+ array(
+ "values" => array("Oui", ),
+ "style" => "unite-perimetre",
+ ),
+ ),
+);
+$options[] = $option_condition_perimetre;

Modified: branches/2.0.0-develop-import/tests/010_parametrage_type_unite.robot
===================================================================
--- branches/2.0.0-develop-import/tests/010_parametrage_type_unite.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/010_parametrage_type_unite.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,26 +6,44 @@


*** Test Cases ***
-type d'unite
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... du type d'unite
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage type_unite
- Page Title Should Be Application > Type_unite
- Submenu In Menu Should Be Selected parametrage type_unite
+
+Listing des types d'unité
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'type_unite'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.type_unite type d'unité
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.type_unite
+ Page Title Should Be Administration & Paramétrage > Élection > Type D'unité
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des types d'unité
+ Page Title Should Be Administration & Paramétrage > Élection > Type D'unité

+
+Ajout d'un type d'unité
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'type_unite'.
+
+ Depuis le listing des types d'unité
Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Élection > Type D'unité
La page ne doit pas contenir d'erreur
+
&{type_unite} = BuiltIn.Create Dictionary
... libelle=maSuperUnite
... hierarchie=1
... bureau_vote=true
-
Ajouter type_unite ${type_unite}
Element Should Contain In Subform css=div.message enregistrées

+
Blocage du type
[Documentation] L'objet de ce test case est de tester la verification
... de la coherence de la hierarchie des unites lors d'une modification
@@ -34,19 +52,16 @@
&{type_superieur} = BuiltIn.Create Dictionary
... libelle=haut
... hierarchie=10
- ... bureau_vote=true
Ajouter type_unite ${type_superieur}

&{type_milieu} = BuiltIn.Create Dictionary
... libelle=milieu
... hierarchie=5
- ... bureau_vote=true
${id_milieu} = Ajouter type_unite ${type_milieu}

&{type_inferieur} = BuiltIn.Create Dictionary
... libelle=bas
... hierarchie=3
- ... bureau_vote=true
Ajouter type_unite ${type_inferieur}

# creation des unités ayant le type créé et contenant le type "inferieur"

Modified: branches/2.0.0-develop-import/tests/011_parametrage_unite.robot
===================================================================
--- branches/2.0.0-develop-import/tests/011_parametrage_unite.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/011_parametrage_unite.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,24 +6,43 @@


*** Test Cases ***
-unite
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des unites de saisie
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage unite
- Page Title Should Be Application > Unite
- Submenu In Menu Should Be Selected parametrage unite
+
+Listing des unités
+ [Documentation] L'objet de ce TestCase est de vérifier l'intégration du
+ ... listing des enregistrements de type 'unite'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.unite unité
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.unite
+ Page Title Should Be Administration & Paramétrage > Élection > Unité
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des unités
+ Page Title Should Be Administration & Paramétrage > Élection > Unité
+
+
+Ajout d'une unité
+ [Documentation] L'objet de ce TestCase est de vérifier l'intégration de
+ ... l'action 'ajouter' depuis le contexte 'unite'.
+
+ Depuis le listing des unités
Click On Add Button
- &{unite} = BuiltIn.Create Dictionary
+ Page Title Should Be Administration & Paramétrage > Élection > Unité
+ La page ne doit pas contenir d'erreur
+
+ &{unite} = Create Dictionary
... libelle=commune
... type_unite=Commune
... perimetre=true
... type_unite_contenu=Bureau de vote
... ordre=99
- La page ne doit pas contenir d'erreur
-
+ ... code_unite=99
${idUnite} = Ajouter unite ${unite}
Set Suite Variable ${idUnite}
Element Should Contain In Subform css=div.message enregistrées
@@ -50,10 +69,7 @@
&{liste_vide} = BuiltIn.Create Dictionary
... Choisir type_unite_contenu=

- # Vérification en ajout
- Depuis le listing unite
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'une unité
# On saisit des valeurs
Select From List By Label type_unite Bureau de vote
# le bureau de vote ayant la hierarchie la plus faible la liste doit être vide
@@ -96,139 +112,256 @@
# On vérifie que la case perimetre est coché
Checkbox Should Not Be Selected perimetre

-comportement bureau
- [Documentation] L'objet de ce test case est de vérifier que les champs
- ... code_bureau_vote, canton, departement, commune et circonscription
- ... ne sont accessible que si le type d'unité choisi est un bureau de vote
+Avertissement si une unité de même libellé existe déjà
+ [Documentation] L'objet de ce test case est de vérifier qu'un message d'avertissement
+ ... est bien affiché lorsque l'on crée une unité ayant le même nom qu'une unité déjà
+ ... existante

- # Ajout de deux types d'unités l'une étant un bureau l'autre non
- &{type_unite} = BuiltIn.Create Dictionary
- ... libelle=testBureau
- ... hierarchie=1
- ... bureau_vote=true
- ${bureau} = Ajouter type_unite ${type_unite}
+ # creation du nouvelle unité ayant le même nom que l'unité créée dans le premier test
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=commune
+ ... type_unite=Commune
+ ... perimetre=true
+ ... type_unite_contenu=Bureau de vote
+ ... ordre=99
+ ${idUnite} = Ajouter unite ${unite}
+ La page ne doit pas contenir d'erreur
+ Message Should Contain ATTENTION : une unité portant ce nom existe déjà !

- &{type_unite} = BuiltIn.Create Dictionary
- ... libelle=testNonBureau
- ... hierarchie=1
- ... bureau_vote=false
- ${pasBureau} = Ajouter type_unite ${type_unite}

- # Liste des champs
- @{champs} Create List canton circonscription commune departement
+Code unité obligatoire pour les unités de type bureau de vote
+ [Documentation] L'objet de ce test case est de vérifier que si l'unité à un type
+ ... ayant un comportement de bureau de vote alors la saisie d'un code unité est
+ ... obligatoire

- # Accés au formulaire d'ajout d'une unité pour pouvoir tester le champ
- Go To Submenu In Menu parametrage unite
- Page Title Should Be Application > Unite
- Submenu In Menu Should Be Selected parametrage unite
- La page ne doit pas contenir d'erreur
- Click On Add Button
+ Depuis le formulaire d'ajout d'une unité
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=bureau
+ ... ordre=1
+ ... type_unite=Bureau de vote
+ Saisir unite ${unite}
+ # Vérifie que le champ code unité est marqué comme obligatoire
+ Wait Until Element Contains lib-code_unite code unite *
+
+ # Modification du type le champ ne doit plus être affiché commme obligatoire
+ &{unite} = BuiltIn.Create Dictionary
+ ... type_unite=Commune
+ Saisir unite ${unite}
+ Wait Until Element Contains lib-code_unite code unite

- # Choix de l'unité pasBureau, les champs (sauf code_bureau_vote) doivent
- # avoir l'attribut : style="display:none".
- # L'input du code_bureau_vote ne doit être disabled
- Select From List By Value type_unite ${pasBureau}
- # Vérification du non affichage des 4 champs de code
- :FOR ${champ} IN @{champs}
- \ Page Should Contain Element css=select#${champ}[style="display:none"]
- # Absence de l'input de code_bureau_vote
- Page Should Contain Element css=input#code_bureau_vote:disabled
- # Absence d'erreur sur la page
+ # Si l'unité est de type bureau et que le champ code unité n'est pas remplis
+ # un message d'erreur doit être affiché
+ &{unite} = BuiltIn.Create Dictionary
+ ... type_unite=Bureau de vote
+ Saisir unite ${unite}
+ Click On Submit Button
+
La page ne doit pas contenir d'erreur
+ Message Should Contain Le code unité est obligatoire pour les bureaux de vote !

- # Choix du type d'unité de comportement bureau de vote
- Select From List By Value type_unite ${Bureau}
- # Vérification de la présence des 4 champs de code
- :FOR ${champ} IN @{champs}
- \ Page Should Contain Element css=select#${champ}[style="display"]
- # Présence de l'input de code_bureau_vote
- Page Should Not Contain Element css=input#code_bureau_vote:disabled
- # Absence d'erreur sur la page
+
+Import d'unités
+ [Documentation] L'objet de ce TestCase est de vérifier l'intégration de
+ ... l'action 'import-unites' depuis le contexte 'unite'.
+ # l'action est présente dans le coin haut gauch du tableau
+ Depuis le listing des unités
+ Element Should Contain css=a#action-tab-unite-corner-import-unites Importer
+ # le lien amène sur la page correcte
+ Click Element css=a#action-tab-unite-corner-import-unites
+ Page Title Should Be Administration & Paramétrage > Élection > Unité > Import
La page ne doit pas contenir d'erreur
- Click On Back Button
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le formulaire d'import des unités
+ Page Title Should Be Administration & Paramétrage > Élection > Unité > Import

- # Test du champ en modification
- # Ajout d'une unite de comportement BV et d'un canton, une circ, un dept et une commune
-
- &{canton} = BuiltIn.Create Dictionary
- ... libelle=cantest
- ... code=CAN
- ... prefecture=12
- Ajouter canton ${canton}
-
- &{circonscription} = BuiltIn.Create Dictionary
- ... libelle=circtest
- ... code=CIRC
- ... prefecture=34
- Ajouter circonscription ${circonscription}
-
- &{departement} = BuiltIn.Create Dictionary
- ... libelle=deptest
- ... code=DEPT
- ... prefecture=56
- Ajouter departement ${departement}
-
- &{commune} = BuiltIn.Create Dictionary
- ... libelle=comtets
- ... code=COMM
- ... prefecture=78
- Ajouter commune ${commune}
-
+
+Import d'unités depuis un fichier csv d'ELIRE
+ [Documentation] L'objet de ce test case est de tester que l'import
+ ... 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
+
+ Depuis le formulaire d'import des unités
+ Add File fic1 ListeBureauVoteElire.csv
+ Select From List By Label separateur , (virgule)
+ Click On Submit Button In Import CSV
+
+ Valid Message Should Contain 5 ligne(s) dans le fichier dont :
+ Valid Message Should Contain - 1 ligne(s) d'entête
+ Valid Message Should Contain - 4 ligne(s) importée(s)
+
+ # Vérification que le canton et la circonscription ont été créés
+ Depuis le listing canton
+ Use Simple Search prefecture 95-17
+ Click On Link 95-17
+ Element Should Contain css=span#libelle Saint-Ouen-l'Aumône
+
+ Depuis le listing circonscription
+ Use Simple Search prefecture 09502
+ Click On Link 09502
+ Element Should Contain css=span#libelle Circonscription import
+
+ # Vérification pour chaque unité qu'elles existent et que les valeur
+ # enregistrées sont bien celle attendues
&{unite} = BuiltIn.Create Dictionary
- ... libelle=testUnite
- ... type_unite=testBureau
- ... ordre=99
- ... code_bureau_vote=TST
- ... canton=cantest
- ... departement=deptest
- ... circonscription=circtest
- ... commune=comtets
- ${idUnite} = Ajouter unite ${unite}
+ ... libelle=Mairie Import
+ ... type_unite=Bureau de vote
+ ... ordre=001
+ ... circonscription_prefecture=95-02
+ ... canton_prefecture=95-17
+ ... adresse1=42 Avenue du test marseille
+ ... adresse2=
+ ... cp=13014
+ ... perimetre=Non
+ ... code_unite=001
+ L'unite a été correctement importée ${unite} 1507

- # Accès au formulaire de modification de l'unité
- Depuis le contexte unite ${idUnite}
- Click On Form Portlet Action unite modifier
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=Ecole Import
+ ... type_unite=Bureau de vote
+ ... ordre=002
+ ... circonscription_prefecture=095-02
+ ... canton_prefecture=095 17
+ ... adresse1=42 Rue du test des imports, batiment a Annecy
+ ... adresse2=
+ ... cp=74000
+ ... perimetre=Non
+ ... code_unite=002
+ L'unite a été correctement importée ${unite} 1508

- # L'unité à déjà un comportement de BV les chamos doivent donc être présents
- :FOR ${champ} IN @{champs}
- \ Page Should Contain Element css=select#${champ}[style="display"]
- Page Should Not Contain Element css=input#code_bureau_vote:disabled
- # Absence d'erreur sur la page
- La page ne doit pas contenir d'erreur
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=Gymnase Import
+ ... type_unite=Bureau de vote
+ ... ordre=003
+ ... circonscription_prefecture=09502
+ ... canton_prefecture=9517
+ ... adresse1=
+ ... adresse2=
+ ... cp=
+ ... ville=
+ ... perimetre=Non
+ ... code_unite=003
+ L'unite a été correctement importée ${unite} 1509

- # Choix de l'unité pasBureau, les champs ne doivent plus être affichés
- Select From List By Value type_unite ${pasBureau}
- # Vérification du non affichage des 4 champs de code
- :FOR ${champ} IN @{champs}
- \ Page Should Contain Element css=select#${champ}[style="display:none"]
- # Absence de l'input du code des bureaux de vote
- Page Should Contain Element css=input#code_bureau_vote:disabled
- # Absence d'erreur sur la page
- La page ne doit pas contenir d'erreur
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=Salle des Fêtes Import
+ ... type_unite=Bureau de vote
+ ... ordre=004
+ ... circonscription_prefecture=
+ ... canton_prefecture=
+ ... adresse1=
+ ... adresse2=
+ ... cp=
+ ... ville=
+ ... perimetre=Non
+ ... code_unite=004
+ L'unite a été correctement importée ${unite} 1510

- # On valide le formulaire pour vérifier que les résultats sont remis à zéro
- # car l'unité n'est plus un BV
- Click On Submit Button
- Page Should Not Contain TST
- Page Should Not Contain cantest
- Page Should Not Contain deptest
- Page Should Not Contain circtest
- Page Should Not Contain comtets
- # Absence d'erreur sur la page
- La page ne doit pas contenir d'erreur

-Avertissement si une unité de même libellé existe déjà
- [Documentation] L'objet de ce test case est de vérifier qu'un message d'avertissement
- ... est bien affiché lorsque l'on crée une unité ayant le même nom qu'une unité déjà
- ... existante
+Import d'unités depuis un fichier csv d'openElec (via l'api REU)
+ [Documentation] L'objet de ce test case est de tester que l'import
+ ... des unités de saisie à l'aide d'un fichier csv, issus d'openElec,
+ ... récupère et enregistre correctement les données dans la base

- # creation du nouvelle unité ayant le même nom que l'unité créée dans le premier test
+ Depuis le formulaire d'import des unités
+ Add File fic1 ListeBureauVoteOpenelec.csv
+ Select From List By Label separateur ; (point-virgule)
+ Click On Submit Button In Import CSV
+
+ Valid Message Should Contain 8 ligne(s) dans le fichier dont :
+ Valid Message Should Contain - 1 ligne(s) d'entête
+ Valid Message Should Contain - 6 ligne(s) importée(s)
+
+ # Vérification que le canton et la circonscription ont été créés
+ Depuis le listing canton
+ Use Simple Search prefecture 13-28
+ Click On Link 13-28
+ Element Should Contain css=span#libelle Trets
+
+ Depuis le listing circonscription
+ Use Simple Search prefecture 13-10
+ Click On Link 13-10
+ Element Should Contain css=span#libelle 13-10
+
+ # Vérification pour chaque unité qu'elles existent et que les valeur
+ # enregistrées sont bien celle attendues
&{unite} = BuiltIn.Create Dictionary
- ... libelle=commune
- ... type_unite=Commune
- ... perimetre=true
- ... type_unite_contenu=Bureau de vote
- ... ordre=99
- ${idUnite} = Ajouter unite ${unite}
- La page ne doit pas contenir d'erreur
- Message Should Contain ATTENTION : une unité portant ce nom existe déjà !
\ No newline at end of file
+ ... libelle=SALLE DES MARIAGES
+ ... type_unite=Bureau de vote
+ ... ordre=1
+ ... circonscription_prefecture=13-10
+ ... canton_prefecture=13-28
+ ... adresse1=
+ ... adresse2=
+ ... cp=
+ ... perimetre=Non
+ ... code_unite=1
+ L'unite a été correctement importée ${unite} 9959
+
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=SALLE DES FETES JEAN MONNET
+ ... type_unite=Bureau de vote
+ ... ordre=2
+ ... circonscription_prefecture=13-10
+ ... canton_prefecture=13-28
+ ... adresse1=
+ ... adresse2=
+ ... cp=
+ ... perimetre=Non
+ ... code_unite=2
+ L'unite a été correctement importée ${unite} 49965
+
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=ECOLE DU CANET
+ ... type_unite=Bureau de vote
+ ... ordre=3
+ ... circonscription_prefecture=13-10
+ ... canton_prefecture=13-28
+ ... adresse1=
+ ... adresse2=
+ ... cp=
+ ... ville=
+ ... perimetre=Non
+ ... code_unite=3
+ L'unite a été correctement importée ${unite} 52493
+
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=SALLE DES FETES JEAN MONNET
+ ... type_unite=Bureau de vote
+ ... ordre=4
+ ... circonscription_prefecture=13-10
+ ... canton_prefecture=13-28
+ ... adresse1=
+ ... adresse2=
+ ... cp=
+ ... ville=
+ ... perimetre=Non
+ ... code_unite=4
+ L'unite a été correctement importée ${unite} 30945
+
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=LE GYMNASE
+ ... type_unite=Bureau de vote
+ ... ordre=5
+ ... circonscription_prefecture=13-10
+ ... canton_prefecture=13-28
+ ... adresse1=
+ ... adresse2=
+ ... cp=
+ ... ville=
+ ... perimetre=Non
+ ... code_unite=5
+ L'unite a été correctement importée ${unite} 35558
+
+ &{unite} = BuiltIn.Create Dictionary
+ ... libelle=ECOLE DU VILLAGE
+ ... type_unite=Bureau de vote
+ ... ordre=6
+ ... circonscription_prefecture=13-10
+ ... canton_prefecture=13-28
+ ... adresse1=
+ ... adresse2=
+ ... cp=
+ ... ville=
+ ... perimetre=Non
+ ... code_unite=6
+ L'unite a été correctement importée ${unite} 24419

Modified: branches/2.0.0-develop-import/tests/012_parametrage_lien.robot
===================================================================
--- branches/2.0.0-develop-import/tests/012_parametrage_lien.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/012_parametrage_lien.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,18 +6,35 @@


*** Test Cases ***
-lien_unite
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des liens entre les unites
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage unite
- Page Title Should Be Application > Unite
- Submenu In Menu Should Be Selected parametrage unite

+Listing des liens entre unités
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'lien_unite'.
+ # le lien n'est pas présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Not Be Visible css=#settings a.lien_unite
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des liens entre unités
+ Page Title Should Be Administration & Paramétrage > Élection > Lien Entre Unités
+
+
+Ajout d'un lien entre unités
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'lien_unite'.
+
+ Depuis le listing des liens entre unités
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Élection > Lien Entre Unités
+ La page ne doit pas contenir d'erreur
+
#creation des unites à lier
&{unite_parent} = BuiltIn.Create Dictionary
- ... libelle=commune
+ ... libelle=commune_test
... type_unite=Commune
... perimetre=true
... type_unite_contenu=Bureau de vote
@@ -29,18 +46,61 @@
... libelle=bureau
... type_unite=Bureau de vote
... ordre=42
+ ... code_unite=42
Ajouter unite ${unite_enfant}

-
- #verification que la page lien_unite est bien selectionnée et ne contiens pas d'erreur
- Go To Submenu In Menu parametrage lien_unite
- Page Title Should Be Application > Lien_unite
- Submenu In Menu Should Be Selected parametrage lien_unite
- La page ne doit pas contenir d'erreur
#ajout d'un lien entre les deux unites
- Ajouter lien_unite commune 42 - bureau
+ Ajouter lien_unite commune_test 42 - bureau
Element Should Contain In Subform css=div.message enregistrées

+ajout de lien_unite multiple
+ [Documentation] L'objet de ce test case est de verifier que l'ajout
+ ... de lien multiple fonctionne
+
+ #creation des unites à lier
+ &{unite_parent} = BuiltIn.Create Dictionary
+ ... libelle=commune_abc
+ ... type_unite=Commune
+ ... perimetre=true
+ ... type_unite_contenu=Bureau de vote
+ ... ordre=666
+ ... code_unite=666
+ ${idUniteParent} = Ajouter unite ${unite_parent}
+ Set Suite Variable ${idUnite}
+
+ &{unite_enfant} = BuiltIn.Create Dictionary
+ ... libelle=bureau_a
+ ... type_unite=Bureau de vote
+ ... ordre=1
+ ... code_unite=1
+ Ajouter unite ${unite_enfant}
+
+ &{unite_enfant} = BuiltIn.Create Dictionary
+ ... libelle=bureau_b
+ ... type_unite=Bureau de vote
+ ... ordre=2
+ ... code_unite=2
+ Ajouter unite ${unite_enfant}
+
+ &{unite_enfant} = BuiltIn.Create Dictionary
+ ... libelle=bureau_c
+ ... type_unite=Bureau de vote
+ ... ordre=3
+ ... code_unite=3
+ Ajouter unite ${unite_enfant}
+
+ # ajout d'un lien unité pour tester la non création de doublon
+ Ajouter lien_unite commune_abc 2 - bureau_b
+
+ # Création des liens multiples
+ @{unites} = Create List 1 - bureau_a 2 - bureau_b 3 - bureau_c
+ Ajouter lien_unite multiple commune_abc ${unites}
+
+ # Vérifie que les tous les liens ont été créés sauf celui déjà existant
+ Valid Message Should Contain lien : commune_abc -> bureau_a
+ Valid Message Should Contain lien : commune_abc -> bureau_c
+ Element Should Not Contain css=div.message span.text lien : commune_abc -> bureau_b
+
filtrage dans les select
[Documentation] L'objet de ce test case est de verifier que
... les unités du select unite_enfant sont bien celles recherchées
@@ -58,7 +118,7 @@

&{liste_perimetre} = BuiltIn.Create Dictionary
... mairieTest=
- ... commune=
+ ... commune_test=

&{liste_unite_type_voulu} = BuiltIn.Create Dictionary
... bureau=
@@ -65,8 +125,7 @@

# On accède au formulaire d'ajout des liens et on vérifie que la
# liste du select des unités parents contiens uniquement les perimetres
- Depuis le listing lien_unite
- Click On Add Button
+ Depuis le formulaire d'ajout d'un lien entre unités
Select List Should Contain List unite_parent ${liste_perimetre}
# bureau n'est pas un périmètre elle ne doit donc pas être dans les options du select
Select List Should Not Contain List unite_parent ${liste_unite_type_voulu}
@@ -89,9 +148,8 @@
... possible de lier deux foix une unité parent avec une unité enfant

# creation du même lien que dans le premier test
- Depuis le listing lien_unite
- Click On Add Button
- Saisir lien_unite commune 42 - bureau
+ Depuis le formulaire d'ajout d'un lien entre unités
+ Saisir lien_unite commune_test 42 - bureau
Click On Submit Button
Error Message Should Contain Les valeurs saisies dans les champs perimetre, unité contenue existent déjà


Modified: branches/2.0.0-develop-import/tests/013_parametrage_candidat.robot
===================================================================
--- branches/2.0.0-develop-import/tests/013_parametrage_candidat.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/013_parametrage_candidat.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,22 +6,43 @@


*** Test Cases ***
-candidat
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des candidats
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage candidat
+
+Listing des candidats
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'candidat'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.candidat candidat
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.candidat
+ Page Title Should Be Administration & Paramétrage > Élection > Candidat
La page ne doit pas contenir d'erreur
- Page Title Should Be Application > Candidat
- Submenu In Menu Should Be Selected parametrage candidat
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des candidats
+ Page Title Should Be Administration & Paramétrage > Élection > Candidat
+
+
+Ajout d'un candidat
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'candidat'.
+
+ Depuis le listing des candidats
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Élection > Candidat
+ La page ne doit pas contenir d'erreur
+
&{candidat} = BuiltIn.Create Dictionary
... libelle=candidatTest
... libelle_liste=test
-
Ajouter candidat ${candidat}
Element Should Contain In Subform css=div.message enregistrées

+
Avertissement si un candidat de même nom existe déjà
[Documentation] L'objet de ce test case est de vérifier qu'un message d'avertissement
... est bien affiché lorsque l'on crée un candidat ayant le même nom qu'un candidat déjà

Modified: branches/2.0.0-develop-import/tests/014_parametrage_type_election.robot
===================================================================
--- branches/2.0.0-develop-import/tests/014_parametrage_type_election.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/014_parametrage_type_election.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,19 +6,39 @@


*** Test Cases ***
-type_election
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des types d'election
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage type_election
- Page Title Should Be Application > Type_election
- Submenu In Menu Should Be Selected parametrage type_election
+
+Listing des types d'élection
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'type_election'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.type_election type d'élection
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.type_election
+ Page Title Should Be Administration & Paramétrage > Élection > Type D'élection
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des types d'élection
+ Page Title Should Be Administration & Paramétrage > Élection > Type D'élection
+
+
+Ajout d'un type d'élection
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'type_election'.
+
+ Depuis le listing des types d'élection
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Élection > Type D'élection
+ La page ne doit pas contenir d'erreur
+
&{type_election} = BuiltIn.Create Dictionary
... libelle=test
... code=TST
... prefecture=TS
-
Ajouter type_election ${type_election}
Element Should Contain In Subform css=div.message enregistrées

Modified: branches/2.0.0-develop-import/tests/015_parametrage_tranche.robot
===================================================================
--- branches/2.0.0-develop-import/tests/015_parametrage_tranche.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/015_parametrage_tranche.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,18 +6,39 @@


*** Test Cases ***
-tranche
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des tranches
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage tranche
- Page Title Should Be Application > Tranche
- Submenu In Menu Should Be Selected parametrage tranche
+
+Listing des tranches
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'tranche'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.tranche tranche
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.tranche
+ Page Title Should Be Administration & Paramétrage > Élection > Tranche
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des tranches
+ Page Title Should Be Administration & Paramétrage > Élection > Tranche
+
+
+Ajout d'un tranche
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'tranche'.
+
+ Depuis le listing des tranches
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Élection > Tranche
+ La page ne doit pas contenir d'erreur
+
&{tranche} = BuiltIn.Create Dictionary
... libelle=23:00:00
... ordre=666
-
Ajouter tranche ${tranche}
Element Should Contain In Subform css=div.message enregistrées
+

Modified: branches/2.0.0-develop-import/tests/016_parametrage_canton.robot
===================================================================
--- branches/2.0.0-develop-import/tests/016_parametrage_canton.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/016_parametrage_canton.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,18 +6,36 @@


*** Test Cases ***
-canton
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des cantons
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- #verification que la page canton est bien selectionnée et ne contiens pas d'erreur
- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage canton
- Page Title Should Be Application > Canton
- Submenu In Menu Should Be Selected parametrage canton
+
+Listing des cantons
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'canton'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.canton canton
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.canton
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Canton
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des cantons
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Canton

- # creation du canton
+
+Ajout d'un canton
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'canton'.
+
+ Depuis le listing des cantons
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Canton
+ La page ne doit pas contenir d'erreur
+
&{canton} = BuiltIn.Create Dictionary
... libelle=mon canton
... code=CAN
@@ -26,3 +44,4 @@
La page ne doit pas contenir d'erreur
# message de reussite
Element Should Contain In Subform css=div.message enregistrées
+

Modified: branches/2.0.0-develop-import/tests/017_parametrage_circonscription.robot
===================================================================
--- branches/2.0.0-develop-import/tests/017_parametrage_circonscription.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/017_parametrage_circonscription.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,17 +6,36 @@


*** Test Cases ***
-circonscription
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des circonscriptions
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- #verification que la page circonscription est bien selectionnée et ne contiens pas d'erreur
- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage circonscription
- Page Title Should Be Application > Circonscription
- Submenu In Menu Should Be Selected parametrage circonscription
+
+Listing des circonscriptions
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'circonscription'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.circonscription circonscription
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.circonscription
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Circonscription
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des circonscriptions
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Circonscription

+
+Ajout d'une circonscription
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'circonscription'.
+
+ Depuis le listing des circonscriptions
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Circonscription
+ La page ne doit pas contenir d'erreur
+
# creation d'une circonscription
&{circonscription} = BuiltIn.Create Dictionary
... libelle=ma circonscription

Modified: branches/2.0.0-develop-import/tests/018_parametrage_commune.robot
===================================================================
--- branches/2.0.0-develop-import/tests/018_parametrage_commune.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/018_parametrage_commune.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,17 +6,36 @@


*** Test Cases ***
-commune
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des communes
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- #verification que la page commune est bien selectionnée et ne contiens pas d'erreur
- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage commune
- Page Title Should Be Application > Commune
- Submenu In Menu Should Be Selected parametrage commune
+
+Listing des communes
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'commune'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.commune commune
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.commune
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Commune
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des communes
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Commune

+
+Ajout d'une commune
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'commune'.
+
+ Depuis le listing des communes
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Commune
+ La page ne doit pas contenir d'erreur
+
# creation de la commune
&{commune} = BuiltIn.Create Dictionary
... libelle=ma commune
@@ -25,4 +44,5 @@
Ajouter commune ${commune}
La page ne doit pas contenir d'erreur
# message de reussite
- Element Should Contain In Subform css=div.message enregistrées
\ No newline at end of file
+ Element Should Contain In Subform css=div.message enregistrées
+

Modified: branches/2.0.0-develop-import/tests/019_parametrage_departement.robot
===================================================================
--- branches/2.0.0-develop-import/tests/019_parametrage_departement.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/019_parametrage_departement.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,17 +6,36 @@


*** Test Cases ***
-departement
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des départements
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- #verification que la page departement est bien selectionnée et ne contiens pas d'erreur
- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage departement
- Page Title Should Be Application > Departement
- Submenu In Menu Should Be Selected parametrage departement
+
+Listing des départements
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'département'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.departement département
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.departement
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Département
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des départements
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Département

+
+Ajout d'un département
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'département'.
+
+ Depuis le listing des départements
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Découpage Administratif > Département
+ La page ne doit pas contenir d'erreur
+
# creation du departement
&{departement} = BuiltIn.Create Dictionary
... libelle=mon departement

Modified: branches/2.0.0-develop-import/tests/020_configuration_election.robot
===================================================================
--- branches/2.0.0-develop-import/tests/020_configuration_election.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/020_configuration_election.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -38,7 +38,7 @@
... libelle=bureau_a
... type_unite=bureau
... ordre=41
- ... code_bureau_vote=41
+ ... code_unite=41
${id_bureau_a} = Ajouter unite ${bureau_a}
Set Suite Variable ${id_bureau_a}

@@ -46,7 +46,7 @@
... libelle=bureau_b
... type_unite=bureau
... ordre=42
- ... code_bureau_vote=42
+ ... code_unite=42
${id_bureau_b} = Ajouter unite ${bureau_b}
Set Suite Variable ${id_bureau_b}

@@ -54,7 +54,7 @@
... libelle=bureau_c
... type_unite=bureau
... ordre=43
- ... code_bureau_vote=42
+ ... code_unite=43
${id_bureau_c} = Ajouter unite ${bureau_c}
Set Suite Variable ${id_bureau_c}

@@ -86,8 +86,8 @@
Ajouter lien_unite mairie_de_ab 41 - bureau_a
Ajouter lien_unite mairie_de_ab 42 - bureau_b
Ajouter lien_unite mairie_de_c 43 - bureau_c
- Ajouter lien_unite arrondissement_abc 44 - mairie_de_ab
- Ajouter lien_unite arrondissement_abc 45 - mairie_de_c
+ Ajouter lien_unite arrondissement_abc mairie_de_ab
+ Ajouter lien_unite arrondissement_abc mairie_de_c

# Ajout d'un logo
Ajouter le logo logo_test logo openResultat.png logo openresultat
@@ -126,7 +126,7 @@
# Ajout de lien entre le plan et les unités
&{plan_unite} = BuiltIn.Create Dictionary
... plan=plan_2
- ... unite=bureau_a
+ ... unite=41 bureau_a
... img_unite_arrivee=bureau_a.png
... img_unite_non_arrivee=bureau_na.png
... position_x=0
@@ -143,6 +143,8 @@
... plans ainsi que les images liées au plan et au logo sont ajoutés au portail
... web et que le fichier decrivant la structure des unités est envoyé à l'affichage

+ Depuis la page d'accueil admin admin
+
Go To Submenu In Menu application election
Page Title Should Be Application > Election
Submenu In Menu Should Be Selected application election
@@ -282,7 +284,7 @@
Cliquer sur le bouton de la fenêtre modale Confirmer

# Test de la saisie avec saisie manuelle des votes exprimés
- Depuis le contexte election_unite ${id_election_maire} 41 - bureau_a
+ Depuis le contexte election_unite ${id_election_maire} 41 bureau_a
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 100
@@ -304,7 +306,7 @@
... calcul_auto_exprime=true
Modifier election ${id_election_maire} ${election}

- Depuis le contexte election_unite ${id_election_maire} 42 - bureau_b
+ Depuis le contexte election_unite ${id_election_maire} 42 bureau_b
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 100
@@ -331,7 +333,7 @@
... calcul_auto_exprime=false
Modifier election ${id_election_maire} ${election}

- Depuis le contexte election_unite ${id_election_maire} 43 - bureau_c
+ Depuis le contexte election_unite ${id_election_maire} 43 bureau_c
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 1000
@@ -385,7 +387,7 @@
... les options de publication ne s'affiche pas pour une unité non validé

# Workflow de la validation des résultats : en cours de saisie -> en attente de validation -> valider
- Depuis le contexte election_unite ${id_election_maire} 41 - bureau_a
+ Depuis le contexte election_unite ${id_election_maire} 41 bureau_a
Demander la validation des résultats
@{actions} Create List demander_validation modifier
Le portlet du sous formulaire ne doit pas contenir election_unite ${actions}
@@ -398,7 +400,7 @@
... validation_avant_publication=true
Modifier election ${id_election_maire} ${election}
# Les actions de publication ne doivent plus être présente
- Depuis le contexte election_unite ${id_election_maire} 41 - bureau_a
+ Depuis le contexte election_unite ${id_election_maire} 41 bureau_a
@{actions} Create List affichage web
Le portlet du sous formulaire ne doit pas contenir election_unite ${actions}

@@ -415,7 +417,7 @@
Le portlet du sous formulaire doit contenir election_unite ${actions}

# Réinitialise la fenêtre modale
- Depuis le contexte election_unite ${id_election_maire} 41 - bureau_a
+ Depuis le contexte election_unite ${id_election_maire} 41 bureau_a
Reprendre la saisie des résultats
@{actions} Create List affichage web valider reprendre_saisie
Le portlet du sous formulaire ne doit pas contenir election_unite ${actions}
@@ -426,10 +428,10 @@
&{election} = BuiltIn.Create Dictionary
... publication_auto=true
Modifier election ${id_election_maire} ${election}
- Depuis le contexte election_unite ${id_election_maire} 41 - bureau_a
+ Depuis le contexte election_unite ${id_election_maire} 41 bureau_a
Demander la validation des résultats
# Réinitialise la fenêtre modale
- Depuis le contexte election_unite ${id_election_maire} 41 - bureau_a
+ Depuis le contexte election_unite ${id_election_maire} 41 bureau_a
Valider la saisie des résultats
Valid Message Should Contain Les résultats ont été envoyés à l'animation
Valid Message Should Contain Les résultats ont été envoyés au portail web
@@ -494,34 +496,34 @@
# Création des autorisations de saisie des 2 acteurs
&{delegation} = BuiltIn.Create Dictionary
... acteur=test1
- ... unite=bureau_a
+ ... unite=41 bureau_a
${id_delegation1} = Ajouter delegation ${delegation} ${id_election_maire}
Set Suite Variable ${id_delegation1}

&{delegation} = BuiltIn.Create Dictionary
... acteur=test2
- ... unite=bureau_b
+ ... unite=42 bureau_b
${id_delegation2} = Ajouter delegation ${delegation} ${id_election_maire}
Set Suite Variable ${id_delegation2}

# Vérifie que les acteurs n'ont accés qu'aux unités qui leurs sont attribuées
Depuis la page d'accueil test1 test1
- Depuis le contexte de la participation par unite ${id_election_maire} bureau_a
+ Depuis le contexte de la participation par unite ${id_election_maire} 41 bureau_a
Portlet Action Should Be In SubForm delegation_participation modifier

- Depuis le contexte de la participation par unite ${id_election_maire} bureau_b
+ Depuis le contexte de la participation par unite ${id_election_maire} 42 bureau_b
Portlet Action Should Not Be In SubForm delegation_participation modifier

Depuis la page d'accueil test2 test2
- Depuis le contexte de la participation par unite ${id_election_maire} bureau_a
+ Depuis le contexte de la participation par unite ${id_election_maire} 41 bureau_a
Portlet Action Should Not Be In SubForm delegation_participation modifier

- Depuis le contexte de la participation par unite ${id_election_maire} bureau_b
+ Depuis le contexte de la participation par unite ${id_election_maire} 42 bureau_b
Portlet Action Should Be In SubForm delegation_participation modifier

# Création des autorisations de saisie des 2 acteurs
@{acteurs} = Create List test1 test2
- @{unites} = Create List bureau_a bureau_c
+ @{unites} = Create List 41 bureau_a 43 bureau_c
Ajouter delegation multiple ${acteurs} ${unites} ${id_election_maire}

# Vérifie que les délégations ont bien été créées
@@ -559,9 +561,9 @@
File Should Not Exist ../aff/res/${id_election_maire}/photo/${ordre_cand1}.png

# Envoi des résultats d'un bureau et la de la participation pour une tranche horaire
- Envoyer les résultats à l'affichage ${id_election_maire} 41 - bureau_a
+ Envoyer les résultats à l'affichage ${id_election_maire} 41 bureau_a
Le fichier doit exister ../aff/res/${id_election_maire}/bres/b${id_bureau_a}.json
- Envoyer les résultats à la page web ${id_election_maire} 41 - bureau_a
+ Envoyer les résultats à la page web ${id_election_maire} 41 bureau_a
Le fichier doit exister ../web/res/00${id_election_maire}-0/b41.html
Envoyer la participation à l'affichage ${id_election_maire} 09:00:00
Le fichier doit exister ../aff/res/${id_election_maire}/bpar/b${id_bureau_a}.json
@@ -671,7 +673,7 @@

&{delegation} = BuiltIn.Create Dictionary
... acteur=test1
- ... unite=bureau_a
+ ... unite=41 bureau_a
${id_delegation} = Ajouter delegation ${delegation} ${id_election_maire}
Set Suite Variable ${id_delegation}


Modified: branches/2.0.0-develop-import/tests/021_configuration_centaine.robot
===================================================================
--- branches/2.0.0-develop-import/tests/021_configuration_centaine.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/021_configuration_centaine.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -58,7 +58,7 @@

# Remplissage des inscrits d'une des unités pour vérifier que le nombre d'inscrit est
# bien enregistré pour l'unité de la centaine lors de sa création
- Depuis le contexte election_unite ${id_election} 2 - Salle des fetes 1
+ Depuis le contexte election_unite ${id_election} 2 Salle des fetes 1
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 500
Click On Submit Button In Subform
@@ -93,7 +93,7 @@
... par unité des centaines.

# Remplissage du nombre d'inscrit pour vérifier qu'elle est remplis dans la centaine
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 1000
Click On Submit Button In Subform
@@ -133,7 +133,7 @@
... correctement

# Envoi des résultats à l'animation
- Envoyer les résultats de la centaine à l'affichage ${id_centaine} ${id_election} 1 - Salle des Mariages
+ Envoyer les résultats de la centaine à l'affichage ${id_centaine} ${id_election} 1 Salle des Mariages

# Ajout d'une animation liée à la centaine
&{animation} = BuiltIn.Create Dictionary
@@ -187,7 +187,7 @@
Table Should Contain css=div#sousform-container table.tab-tab Hervé SCHIAVETTI

# Envoi des résultats à l'animation
- Envoyer les résultats de la centaine à l'affichage ${id_centaine} ${id_election} 1 - Salle des Mariages
+ Envoyer les résultats de la centaine à l'affichage ${id_centaine} ${id_election} 1 Salle des Mariages
# Accès à l'animation
Depuis le contexte animation de l'election ${id_election} ${id_animation}
Click On SubForm Portlet Action animation animation new_window
@@ -208,7 +208,7 @@
... sans erreur.

# Envoi des résultats à la page web
- Envoyer les résultats de la centaine au portail web ${id_centaine} ${id_election} 1 - Salle des Mariages
+ Envoyer les résultats de la centaine au portail web ${id_centaine} ${id_election} 1 Salle des Mariages

# Accés au portail web de la centaine
Depuis le contexte centaine ${id_election} ${id_centaine}

Modified: branches/2.0.0-develop-import/tests/022_parametrage_plan.robot
===================================================================
--- branches/2.0.0-develop-import/tests/022_parametrage_plan.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/022_parametrage_plan.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,16 +6,36 @@


*** Test Cases ***
-plan
- [Documentation] L'objet de ce test case est de verifier le parametrage
- ... des plans
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer un jeu de
+ ... données cohérent pour les scénarios fonctionnels qui suivent.
+ Depuis la page d'accueil admin admin

- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage plan
- Page Title Should Be Application > Plan
- Submenu In Menu Should Be Selected parametrage plan
+
+Listing des plans
+ [Documentation] Ce 'Test Case' vérifie l'intégration du listing des
+ ... enregistrements de type 'plan'.
+ # le lien est présent dans le menu
+ Depuis l'écran 'Administration & Paramétrage'
+ Element Should Contain css=#settings a.plan plan
+ # le lien amène sur la page correcte
+ Click Element css=#settings a.plan
+ Page Title Should Be Administration & Paramétrage > Affichage > Plan
La page ne doit pas contenir d'erreur
+ # le mot clé raccourci amène sur la page correcte
+ Depuis le listing des plans
+ Page Title Should Be Administration & Paramétrage > Affichage > Plan

+
+Ajout d'un plan
+ [Documentation] Ce 'Test Case' vérifie l'intégration de l'action 'ajouter'
+ ... depuis le contexte 'plan'.
+
+ Depuis le listing des plans
+ Click On Add Button
+ Page Title Should Be Administration & Paramétrage > Affichage > Plan
+ La page ne doit pas contenir d'erreur
+
# Test de l'ajout d'un plan
&{plan} = BuiltIn.Create Dictionary
... libelle=monPlan
@@ -25,6 +45,7 @@
Ajouter plan ${plan}
Element Should Contain In Subform css=div.message enregistrées

+
Placement des unités sur le plan
[Documentation] L'objet de ce test case est de tester le formulaire
... de liaison des plans aux unités et le placement des points sur
@@ -34,12 +55,10 @@
... libelle=testPlan
... type_unite=Bureau de vote
... ordre=41
+ ... code_unite=41
Ajouter unite ${unite_test}

- Go To Submenu In Menu parametrage plan_unite
- Page Title Should Be Application > Plan_unite
- Submenu In Menu Should Be Selected parametrage plan_unite
- La page ne doit pas contenir d'erreur
+ Depuis le listing plan_unite

# Test de l'ajout d'un lien plan_unite
${x} = Set Variable 100
@@ -46,7 +65,7 @@
${y} = Set Variable 150
&{plan} = BuiltIn.Create Dictionary
... plan=monPlan
- ... unite=testPlan
+ ... unite=41 testPlan
... position_x=${x}
... position_y=${y}
${plan_unite_id} = Ajouter plan unite ${plan}
@@ -56,6 +75,7 @@
Depuis le contexte plan_unite ${plan_unite_id}
Ouvrir la fenêtre de prévisualisation
La page ne doit pas contenir d'erreur
- Verifier la position de l'icone ${x} ${y} css=div#previsu css=div#camap
+ # Ajouter 1 car il y a un décalage de 1 pixel
+ Verifier la position de l'icone ${${x} + 1} ${${y} + 1} css=div#localisation-wrapper css=div#camap0



Modified: branches/2.0.0-develop-import/tests/023_workflow.robot
===================================================================
--- branches/2.0.0-develop-import/tests/023_workflow.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/023_workflow.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -92,7 +92,7 @@

# Vérification de l'étape et des actions de l'élection
Depuis le contexte election ${id_election}
- Element Should Contain css=span#workflow Paramétrage
+ Page Should Contain Element css=input[value="Paramétrage"]
@{actions} Create List modifier simulation supprimer reset verification parametrage_election_plan transfert_parametrage_plan
Le portlet du formulaire doit contenir election ${actions}

@@ -129,7 +129,7 @@

# L'ajout, la saisie et la suppression des résultats et de la participation par tranche horaire
# ne doit pas être possible
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Le portlet d'action ne doit pas être présent dans le sous-formulaire
Click On Back Button In SubForm
L'icone d'ajout ne doit pas être présente dans le sous tableau election_unite
@@ -179,7 +179,7 @@
Valid Message Should Contain Nombre d'animations : 1
Valid Message Should Contain Nombre de centaines : 1
Valid Message Should Contain Passage à l'étape de simulation
- Element Should Contain css=span#workflow Simulation
+ Page Should Contain Element css=input[value="Simulation"]

# Vérification de l'étape et des actions de l'élection
# Découpé en plusieurs ligne pour être plus lisible
@@ -237,7 +237,7 @@

# Saisie de résultat pour tester le tableau de bord et envoyer les résultats
# afin de rendre les actions de dépublications visibles
- Depuis le contexte election_unite ${id_election} 2 - Salle des fetes 1
+ Depuis le contexte election_unite ${id_election} 2 Salle des fetes 1
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 150
Input Text votant 70
@@ -252,7 +252,7 @@
Le fichier doit exister ../web/res/00${id_election}-0/b2.html

# Vérification des actions liés à la saisie des résultats
- Depuis le contexte election_unite ${id_election} 2 - Salle des fetes 1
+ Depuis le contexte election_unite ${id_election} 2 Salle des fetes 1
@{actions} Create List modifier affichage depublier_aff web depublier_web centaine_${id_centaine} demander_validation
Le portlet du sous formulaire doit contenir election_unite ${actions}
Click On Back Button In SubForm
@@ -303,7 +303,7 @@
... Teste également l'affichage du tableau de bord de la saisie

# Saisie de résultat pour tester la réinitailisation des résultats lors du changement d'étape
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 100
Input Text votant 97
@@ -338,10 +338,10 @@
Valid Message Should Contain Nombre d'animations : 1
Valid Message Should Contain Nombre de centaines : 1
Valid Message Should Contain Passage à l'étape de saisie
- Element Should Contain css=span#workflow Saisie
+ Page Should Contain Element css=input[value="Saisie"]

# 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
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
&{resultats_attendus} = BuiltIn.Create Dictionary
... inscrit=\
... votant=\
@@ -350,7 +350,7 @@
... perimetre=\
... blanc=\
... nul=\
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Vérifier les valeurs des champs ${resultats_attendus}

File Should Not Exist ../web/res/00${id_election}-0/b1.html
@@ -380,12 +380,13 @@
File Should Not Exist ../aff/res/${id_centaine}/bres/1.json

# Vérification des actions de l'élection
- @{actions} Create List modifier retour_simulation finalisation supprimer web
+ @{actions1} Create List modifier retour_simulation finalisation supprimer web prefecture
+ @{actions} = Combine Lists ${actions1} ${editions}
Le portlet du formulaire doit contenir election ${actions}
# Découpé en plusieurs ligne pour être plus lisible
- @{actions1} Create List proclamation prefecture siege verification parametrage_election_plan
+ @{actions1} Create List siege verification parametrage_election_plan
@{actions2} Create List transfert_parametrage_plan retour_parametrage simulation saisie
- @{actions} = Combine Lists ${actions1} ${actions2} ${editions}
+ @{actions} = Combine Lists ${actions1} ${actions2}
Le portlet du formulaire ne doit pas contenir election ${actions}

# Vérification des champs pouvant être saisie pour l'élection
@@ -401,7 +402,7 @@
... votant_defaut=hidden
... heure_ouverture=hiddenstatic
... heure_fermeture=hiddenstatic
- ... envoi_initial=hiddenstatic
+ ... envoi_initial=checkbox
... publication_auto=hiddenstatic
... publication_erreur=hiddenstatic
... calcul_auto_exprime=hiddenstatic
@@ -475,7 +476,7 @@

# Saisie de résultat pour tester le tableau de bord et publier les résultats
# afin de rendre visible les actions de dépublication
- Depuis le contexte election_unite ${id_election} 3 - Ecole A
+ Depuis le contexte election_unite ${id_election} 3 Ecole A
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 10
Input Text votant 546
@@ -490,7 +491,7 @@
Le fichier doit exister ../web/res/00${id_election}-0/b3.html

# Vérification des actions liés à la saisie des résultats
- Depuis le contexte election_unite ${id_election} 3 - Ecole A
+ Depuis le contexte election_unite ${id_election} 3 Ecole A
@{actions} Create List modifier affichage depublier_aff web depublier_web centaine_${id_centaine} demander_validation
Le portlet du sous formulaire doit contenir election_unite ${actions}
Click On Back Button In SubForm
@@ -532,7 +533,7 @@
Depuis le contexte election ${id_election}
Passer à l'étape suivante finalisation
Valid Message Should Contain Passage à l'étape de finalisation
- Element Should Contain css=span#workflow Finalisation
+ Page Should Contain Element css=input[value="Finalisation"]

# Vérification de l'étape et des actions de l'élection
# Découpé en plusieurs ligne pour être plus lisible
@@ -613,7 +614,7 @@
L'icone d'ajout doit être présente dans le sous tableau animation

# Vérification des actions liés à la saisie des résultats
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
@{actions} Create List affichage web demander_validation
Le portlet du sous formulaire doit contenir election_unite ${actions}
@{actions} Create List supprimer modifier
@@ -658,7 +659,7 @@
Depuis le contexte election ${id_election}
Passer à l'étape suivante archiver
Valid Message Should Contain Election archivée
- Element Should Contain css=span#workflow Archivage
+ Page Should Contain Element css=input[value="Archivage"]

# Vérification que l'élection n'apparait plus dans le listing des élection une fois archivée
Depuis le listing election
@@ -667,11 +668,11 @@
# Accès à l'élection archivée et vérification de l'étape et des actions de l'élection
Depuis le contexte election archivée ${id_election}
# Découpé en plusieurs ligne pour être plus lisible
- @{actions} Create List retour_finalisation supprimer extraction web transfert_parametrage_plan
+ @{actions} Create List retour_finalisation supprimer extraction web transfert_parametrage_plan prefecture
@{actions} = Combine Lists ${actions} ${editions}
Le portlet du formulaire doit contenir election_cloturee ${actions}

- @{actions} Create List retour_saisie archiver verification parametrage_election_plan reset siege prefecture modifier
+ @{actions} Create List retour_saisie archiver verification parametrage_election_plan reset siege modifier
Le portlet du formulaire ne doit pas contenir election_cloturee ${actions}

# Vérification des actions liés aux candidats
@@ -681,7 +682,7 @@
L'icone d'ajout ne doit pas être présente dans le sous tableau election_candidat

# Vérification des actions liés à la saisie des résultats
- Depuis le contexte election archivée unité ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election archivée unité ${id_election} 1 Salle des Mariages
Le portlet d'action ne doit pas être présent dans le sous-formulaire
Click On Back Button In SubForm
L'icone d'ajout ne doit pas être présente dans le sous tableau election_unite
@@ -743,7 +744,7 @@
Reload Page

# Saisie de résultats/participation
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 100
Input Text votant 97
@@ -776,7 +777,7 @@
... perimetre=\
... blanc=\
... nul=\
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Vérifier les valeurs des champs ${resultats_attendus}

File Should Not Exist ../web/res/00${id_election}-0/b1.html
@@ -806,7 +807,7 @@
Passer à l'étape suivante simulation

# Saisie de résultats/participation
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 100
Input Text votant 97
@@ -841,7 +842,7 @@
... blanc=3
... nul=4
... exprime=90
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Vérifier les valeurs des champs ${resultats_attendus}

Le fichier doit exister ../web/res/00${id_election}-0/b1.html
@@ -879,7 +880,7 @@

&{delegation} = BuiltIn.Create Dictionary
... acteur=test
- ... unite=Salle des Mariages
+ ... unite=1 Salle des Mariages
${id_delegation} = Ajouter delegation ${delegation} ${id_election}
Set Suite Variable ${id_delegation}

@@ -896,7 +897,7 @@
L'icone d'ajout doit être présente dans le sous tableau delegation

# Vérification des actions liés à la saisie de la participation par unité
- Depuis le contexte de la participation par unite ${id_election} Salle des Mariages
+ Depuis le contexte de la participation par unite ${id_election} 1 Salle des Mariages
Le portlet d'action ne doit pas être présent dans le sous-formulaire
Click On Back Button In SubForm
L'icone d'ajout ne doit pas être présente dans le sous tableau delegation_participation
@@ -914,10 +915,10 @@
# Vérification des actions liés à la saisie de la participation par unité
@{actions} Create List modifier affichage desafficher web depublier_web
# Permet d'afficher toutes les actions (publication + dépublication)
- Envoyer la participation de l'unité à l'affichage ${id_election} Salle des Mariages
- Envoyer la participation de l'unité à la page web ${id_election} Salle des Mariages
+ Envoyer la participation de l'unité à l'affichage ${id_election} 1 Salle des Mariages
+ Envoyer la participation de l'unité à la page web ${id_election} 1 Salle des Mariages

- Depuis le contexte de la participation par unite ${id_election} Salle des Mariages
+ Depuis le contexte de la participation par unite ${id_election} 1 Salle des Mariages
Le portlet du sous formulaire doit contenir delegation_participation ${actions}
Click On Back Button In SubForm
L'icone d'ajout ne doit pas être présente dans le sous tableau delegation_participation
@@ -936,10 +937,10 @@
# Vérification des actions liés à la saisie de la participation par unité
@{actions} Create List modifier affichage desafficher web depublier_web
# Permet d'afficher toutes les actions (publication + dépublication)
- Envoyer la participation de l'unité à l'affichage ${id_election} Salle des Mariages
- Envoyer la participation de l'unité à la page web ${id_election} Salle des Mariages
+ Envoyer la participation de l'unité à l'affichage ${id_election} 1 Salle des Mariages
+ Envoyer la participation de l'unité à la page web ${id_election} 1 Salle des Mariages

- Depuis le contexte de la participation par unite ${id_election} Salle des Mariages
+ Depuis le contexte de la participation par unite ${id_election} 1 Salle des Mariages
Le portlet du sous formulaire doit contenir delegation_participation ${actions}
Click On Back Button In SubForm
L'icone d'ajout ne doit pas être présente dans le sous tableau delegation_participation
@@ -956,7 +957,7 @@

# Vérification des actions liés à la saisie de la participation par unité
@{actions} Create List affichage web
- Depuis le contexte de la participation par unite ${id_election} Salle des Mariages
+ Depuis le contexte de la participation par unite ${id_election} 1 Salle des Mariages
Le portlet du sous formulaire doit contenir delegation_participation ${actions}
Click On Back Button In SubForm
L'icone d'ajout ne doit pas être présente dans le sous tableau delegation_participation

Modified: branches/2.0.0-develop-import/tests/030_animation.robot
===================================================================
--- branches/2.0.0-develop-import/tests/030_animation.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/030_animation.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -19,7 +19,7 @@
... libelle=bureau_2
... type_unite=Bureau de vote
... ordre=2
- ... code_bureau_vote=2
+ ... code_unite=002
${unite2} = Ajouter unite ${bureau_2}
Set Suite Variable ${unite2}

@@ -27,7 +27,7 @@
... libelle=bureau_1
... type_unite=Bureau de vote
... ordre=1
- ... code_bureau_vote=1
+ ... code_unite=001
${unite1} = Ajouter unite ${bureau_1}
Set Suite Variable ${unite1}

@@ -43,7 +43,7 @@
... libelle=bureau_3
... type_unite=Bureau de vote
... ordre=3
- ... code_bureau_vote=3
+ ... code_unite=003
${unite3} = Ajouter unite ${bureau_3}
Set Suite Variable ${unite3}

@@ -67,17 +67,17 @@
... libelle=bureau_4
... type_unite=Bureau de vote
... ordre=4
- ... code_bureau_vote=4
+ ... code_unite=004
${unite4} = Ajouter unite ${bureau_4}
Set Suite Variable ${unite4}

# Lien entre ces unites pour creer le perimetre de l'election
- Ajouter lien_unite mairie_de_12 1 - bureau_1
- Ajouter lien_unite mairie_de_12 2 - bureau_2
- Ajouter lien_unite mairie_de_34 4 - bureau_4
- Ajouter lien_unite mairie_de_34 3 - bureau_3
- Ajouter lien_unite arrondissement_123 5 - mairie_de_12
- Ajouter lien_unite arrondissement_123 6 - mairie_de_34
+ Ajouter lien_unite mairie_de_12 001 - bureau_1
+ Ajouter lien_unite mairie_de_12 002 - bureau_2
+ Ajouter lien_unite mairie_de_34 004 - bureau_4
+ Ajouter lien_unite mairie_de_34 003 - bureau_3
+ Ajouter lien_unite arrondissement_123 mairie_de_12
+ Ajouter lien_unite arrondissement_123 mairie_de_34

# Creation de deux candidats
&{candidat1} = BuiltIn.Create Dictionary
@@ -143,7 +143,7 @@

Click On Tab election_unite unité(s)
# Envoi des résultats en cochant la case d'envoi à l'affichage
- Click On Link 1 - bureau_1
+ Click On Link 001 bureau_1
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 100
Input Text votant 97
@@ -161,7 +161,7 @@

# Envoi des résultats à l'aide de l'action d'envoi
Click On Back Button In Subform
- Click On Link 2 - bureau_2
+ Click On Link 002 bureau_2
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 150
Input Text votant 150
@@ -181,7 +181,7 @@
Message Should Contain envoi affichage effectué
Le fichier doit exister ../aff/res/${id_election}/bres/b${unite2}.json

- Depuis le contexte election_unite ${id_election} 5 - mairie_de_12
+ Depuis le contexte election_unite ${id_election} mairie_de_12
Click On SubForm Portlet Action election_unite affichage modale
Cliquer sur le bouton de la fenêtre modale Confirmer
Message Should Contain ../aff/res/${id_election}/bres/b${unite5}.json
@@ -194,9 +194,22 @@
... publication_auto=true
Modifier election ${id_election} ${election}

- Depuis le contexte election_unite ${id_election} 3 - bureau_3
+ Depuis le contexte election_unite ${id_election} 003 bureau_3
Click On SubForm Portlet Action election_unite modifier
+ # Résultat en erreur : les attribut de publication ne doivent pas être à vrai
+ # Rien ne doit être transmis au portail web
Input Text inscrit 300
+ Input Text blanc 666
+ Click On Submit Button In Subform
+ La page ne doit pas contenir d'erreur
+ Element Should Contain css=span#envoi_aff Non
+ File Should Not Exist ../aff/res/${id_election}/bres/b${unite3}.json
+ File Should Not Exist ../aff/res/${id_election}/bres/b${unite6}.json
+ File Should Not Exist ../aff/res/${id_election}/bres/b${unite7}.json
+
+ Depuis le contexte election_unite ${id_election} 003 bureau_3
+ Click On SubForm Portlet Action election_unite modifier
+ Input Text inscrit 300
Input Text votant 287
Input Text emargement 280
Input Text procuration 27
@@ -220,7 +233,7 @@
# Envoi d'un bureau dont seul le nombre d'inscrit est noté
# Ce bureau ne doit pas être considéré comme arrivé mais son nombre d'inscrit
# doit être comptabilisé dans le total
- Depuis le contexte election_unite ${id_election} 4 - bureau_4
+ Depuis le contexte election_unite ${id_election} 004 bureau_4
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 300
Click On Submit Button In Subform
@@ -346,7 +359,7 @@
# Vérification du contenu de chaque bloc
# En prenant, l'arrondissement comme périmètre et les bureaux
# en type, la sidebar doit contenir : bureau_1, bureau_2 et bureau_3
- @{unites} Create List BUREAU_1 BUREAU_2 BUREAU_3
+ @{unites} Create List 001 BUREAU_1 002 BUREAU_2 003 BUREAU_3
:FOR ${unite} IN @{unites}
\ Element Should Contain css=div.sidebar-left ${unite}

@@ -421,7 +434,7 @@
# Vérification de la présence des éléments dans la sidebar
# En prenant, l'arrondissement comme périmètre et les bureaux
# en type, la sidebar doit contenir : bureau_1, bureau_2 et bureau_3
- @{unites} Create List BUREAU_1 BUREAU_2 BUREAU_3
+ @{unites} Create List 001 BUREAU_1 002 BUREAU_2 003 BUREAU_3
:FOR ${unite} IN @{unites}
\ Element Should Contain css=div.sidebar ${unite}

@@ -528,8 +541,8 @@
# puis recharge la page et vérifie que l'unité suivante est affichée
Click Element css=div.sidebar li#unite-1
:FOR ${index} IN RANGE 1 4
- \ Element Should Contain css=div.resultats-entite div.panel-heading bureau_${index}
- \ Element Should Contain css=div.participation-entite div.panel-heading bureau_${index}
+ \ Element Should Contain css=div.resultats-entite div.panel-heading 00${index} bureau_${index}
+ \ Element Should Contain css=div.participation-entite div.panel-heading 00${index} bureau_${index}
\ Reload Page
\ La page ne doit pas contenir d'erreur

@@ -667,7 +680,7 @@
Element Should Not Contain css=div.participation-entite table 010:00:00

# Suppression des résultats du bureau_1 sur l'animation
- Depuis le contexte election_unite ${id_election} 1 - bureau_1
+ Depuis le contexte election_unite ${id_election} 001 bureau_1
Click On SubForm Portlet Action election_unite depublier_aff modale
Cliquer sur le bouton de la fenêtre modale Confirmer
Message Should Contain ../aff/res/${id_election}/bres/b${unite1}.json supprimé
@@ -678,7 +691,7 @@
... publication_auto=false
Modifier election ${id_election} ${election}

- Depuis le contexte election_unite ${id_election} 2 - bureau_2
+ Depuis le contexte election_unite ${id_election} 002 bureau_2
Click On SubForm Portlet Action election_unite modifier
Set Checkbox envoi_aff false
Click On Submit Button In Subform
@@ -752,7 +765,7 @@
# Saisie du nombre d'inscrit et de votant
Click On Tab election_unite unité(s)
# Acces au bureau_1 et saisie de ses résultats
- Click On Link 1 - bureau_1
+ Click On Link 001 bureau_1
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 150
Input Text votant 147
@@ -760,7 +773,7 @@
La page ne doit pas contenir d'erreur
# Acces au bureau_2 et saisie de ses résultats
Click On Back Button In Subform
- Click On Link 2 - bureau_2
+ Click On Link 002 bureau_2
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 150
Input Text votant 150
@@ -768,7 +781,7 @@
La page ne doit pas contenir d'erreur
# Acces au bureau_3 et saisie de ses résultats
Click On Back Button In Subform
- Click On Link 3 - bureau_3
+ Click On Link 003 bureau_3
Click On SubForm Portlet Action election_unite modifier
Input Text inscrit 300
Input Text votant 297
@@ -796,7 +809,7 @@

# Envoi des resultats de chaque unités à l'affichage ce qui permet d'avoir
# le nombre d'inscrit et de votant
- @{unites} Create List 1 - bureau_1 4 - bureau_4 3 - bureau_3 2 - bureau_2 5 - mairie_de_12 6 - mairie_de_34 7 - arrondissement_123
+ @{unites} Create List 001 bureau_1 004 bureau_4 003 bureau_3 002 bureau_2 mairie_de_12 mairie_de_34 arrondissement_123
:FOR ${unite} IN @{unites}
\ Envoyer les résultats à l'affichage ${election_comparaison} ${unite}
# Envoi des resultats de la participation à l'affichage

Modified: branches/2.0.0-develop-import/tests/031_web.robot
===================================================================
--- branches/2.0.0-develop-import/tests/031_web.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/031_web.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -30,34 +30,38 @@
Set Suite Variable ${id_modele_web}

#Création de deux unités, une mairie et deux bureaux à sa charge
+ Set Suite Variable ${ordre_ba} 1
&{bureau_a} = BuiltIn.Create Dictionary
... libelle=Bureau d'A
... type_unite=Bureau de vote
- ... ordre=41
- ... code_bureau_vote=41
+ ... ordre=${ordre_ba}
+ ... code_unite=41
${id_bureau_a} = Ajouter unite ${bureau_a}
Set Suite Variable ${id_bureau_a}

+ Set Suite Variable ${ordre_bb} 2
&{bureau_b} = BuiltIn.Create Dictionary
... libelle=Bureau n°B
... type_unite=Bureau de vote
- ... ordre=42
- ... code_bureau_vote=42
+ ... ordre=${ordre_bb}
+ ... code_unite=42
${id_bureau_b} = Ajouter unite ${bureau_b}
Set Suite Variable ${id_bureau_b}

+ Set Suite Variable ${ordre_bc} 3
&{bureau_c} = BuiltIn.Create Dictionary
... libelle=Bûreau C
... type_unite=Bureau de vote
- ... ordre=43
- ... code_bureau_vote=43
+ ... ordre=${ordre_bc}
+ ... code_unite=43
${id_bureau_c} = Ajouter unite ${bureau_c}
Set Suite Variable ${id_bureau_c}

+ Set Suite Variable ${ordre_mabc} 3
&{mairie} = BuiltIn.Create Dictionary
... libelle=Mairie ABC
... type_unite=Mairie
- ... ordre=44
+ ... ordre=4
... perimetre=true
... type_unite_contenu=Bureau de vote
Ajouter unite ${mairie}
@@ -75,7 +79,6 @@
... img_unite_non_arrivee=img_unite_non_arrivee.gif
... par_defaut=true
... largeur_icone=100
- ... hauteur_icone=100
${id_plan} = Ajouter plan ${plan}
Set Suite Variable ${id_plan}

@@ -90,18 +93,17 @@

&{pos_bureau_a} = BuiltIn.Create Dictionary
... plan=Mairie ABC
- ... unite=Bureau d'A
+ ... unite=41 Bureau d'A
... img_unite_arrivee=bureau_a.png
... position_x=${position_x_A}
... position_y=${position_y_A}
... largeur_icone=50
- ... hauteur_icone=50
${id_plan_unite_a} = Ajouter plan_unite ${pos_bureau_a}
Set Suite Variable ${id_plan_unite_a}

&{pos_bureau_b} = BuiltIn.Create Dictionary
... plan=Mairie ABC
- ... unite=Bureau n°B
+ ... unite=42 Bureau n°B
... img_unite_non_arrivee=bureau_na.png
... position_x=${position_x_B}
... position_y=${position_y_B}
@@ -110,7 +112,7 @@

&{pos_bureau_c} = BuiltIn.Create Dictionary
... plan=Mairie ABC
- ... unite=Bûreau C
+ ... unite=43 Bûreau C
... position_x=${position_x_C}
... position_y=${position_y_C}
${id_plan_unite_c} = Ajouter plan_unite ${pos_bureau_c}
@@ -178,7 +180,7 @@
# Envoi en utilisant la case d'envoi
Depuis le contexte election ${id_election}
Click On Tab election_unite unité(s)
- Click On Link 41 - Bureau d'A
+ Click On Link 41 Bureau d'A
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 100
@@ -194,7 +196,7 @@
La page ne doit pas contenir d'erreur

# Présence des fichiers dans le répertoire web
- Le fichier doit exister ../web/res/00${id_election}-0/b41.html
+ Le fichier doit exister ../web/res/00${id_election}-0/b${ordre_ba}.html
Le fichier doit exister ../web/res/00${id_election}-0/unite.inc
Le fichier doit exister ../web/res/00${id_election}-0/collectivite.inc
Le fichier doit exister ../web/res/00${id_election}-0/election.inc
@@ -201,7 +203,7 @@

# Envoi en utilisant l'action d'envoi
Click On Back Button In Subform
- Click On Link 42 - Bureau n°B
+ Click On Link 42 Bureau n°B
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 150
@@ -218,7 +220,7 @@
Cliquer sur le bouton de la fenêtre modale Confirmer

# Présence des fichiers dans le répertoire web
- Le fichier doit exister ../web/res/00${id_election}-0/b42.html
+ Le fichier doit exister ../web/res/00${id_election}-0/b${ordre_bb}.html

# envoi automatique
&{election} = BuiltIn.Create Dictionary
@@ -226,19 +228,28 @@
Modifier election ${id_election} ${election}

Click On Tab election_unite unité(s)
- Click On Link 43 - Bûreau C
+ Click On Link 43 Bûreau C
Click On SubForm Portlet Action election_unite modifier
- # Remplissage du formulaire en ne remplissant que le champ
- # inscrit. Permet de tester si le bureau est bien "non arrivé"
- # sur le portail web mais que son nombre d'inscrit est compté
+ # Résultat en erreur : les attribut de publication ne doivent pas être à vrai
+ # Rien ne doit être transmis au portail web
Input Text inscrit 50
+ Input Text blanc 50
Click On Submit Button In Subform
La page ne doit pas contenir d'erreur
+ Element Should Contain css=span#envoi_web Non
+ File Should Not Exist ../web/res/00${id_election}-0/b${ordre_bc}.html
+ File Should Not Exist ../web/res/00${id_election}-0/b${ordre_mabc}.html

+ Click On SubForm Portlet Action election_unite modifier
+ # Résultat non saisis mais envoyés
+ Input Text inscrit 50
+ Input Text blanc 0
+ Click On Submit Button In Subform
+ La page ne doit pas contenir d'erreur
# Présence des fichiers dans le répertoire web -> bureau + son perimetre car la publication
# auto est activée
- Le fichier doit exister ../web/res/00${id_election}-0/b43.html
- Le fichier doit exister ../web/res/00${id_election}-0/b44.html
+ Le fichier doit exister ../web/res/00${id_election}-0/b${ordre_bc}.html
+ Le fichier doit exister ../web/res/00${id_election}-0/b${ordre_mabc}.html

# Envoi des resultats de la participation de manière automatique et en utilisant
# l'action d'envoi
@@ -276,7 +287,7 @@
Le fichier doit exister ../web/res/00${id_centaine}-0C/plans.json
Le fichier doit exister ../web/res/00${id_centaine}-0C/election.inc
# Saisi et envoi des résultats de la centaine
- Depuis le contexte election_unite ${id_election} 41 - Bureau d'A
+ Depuis le contexte election_unite ${id_election} 41 Bureau d'A
Click On SubForm Portlet Action election_unite centaine_${id_centaine}
La page ne doit pas contenir d'erreur
Input Text blanc 3
@@ -285,8 +296,8 @@
Input Text candidat${ordre_candidat1} 4
Click On Submit Button In Subform

- Envoyer les résultats de la centaine au portail web ${id_centaine} ${id_election} 41 - Bureau d'A
- Le fichier doit exister ../web/res/00${id_centaine}-0C/b41.html
+ Envoyer les résultats de la centaine au portail web ${id_centaine} ${id_election} 41 Bureau d'A
+ Le fichier doit exister ../web/res/00${id_centaine}-0C/b${ordre_ba}.html

Affichage web
[Documentation] Test servant à vérifier que les résultats envoyés
@@ -345,19 +356,19 @@
# La liste des unités s'affiche correctement : les bureaux a et b dont les
# résultats ont été remplis sont arrivés mais pas le c car les "résultats"
# n'ont pas été saisie pour ce bureaux
- Element Should Contain css=a[href="#myModal41"] 41 - Bureau d'A
- Element Should Contain css=a[href="#myModal42"] 42 - Bureau n°B
- Element Should Contain css=p.elem-43 43 - Bûreau C
+ Element Should Contain css=a[href="#myModal${ordre_ba}"] 41 - Bureau d'A
+ Element Should Contain css=a[href="#myModal${ordre_bb}"] 42 - Bureau n°B
+ Element Should Contain css=p.elem-${ordre_bc} 43 - Bûreau C
# Détail des résultats du bureau
- Click Element css=div#resultats-par-unite a[href="#myModal41"]
+ Click Element css=div#resultats-par-unite a[href="#myModal${ordre_ba}"]
# Le candidat est présent
- Element Should Contain css=div#myModal41 div.modal-content td.candidat-liste DAVID G.
+ Element Should Contain css=div#myModal${ordre_ba} div.modal-content td.candidat-liste DAVID G.
# Le nombre de voix est correct
- Element Should Contain css=div#myModal41 div.modal-content td.candidat-liste-voix 90
+ Element Should Contain css=div#myModal${ordre_ba} div.modal-content td.candidat-liste-voix 90
# Le nombre de vote exprimé est correct
- Element Should Contain css=div#myModal41 div.modal-content td.candidat-liste-taux 100
+ Element Should Contain css=div#myModal${ordre_ba} div.modal-content td.candidat-liste-taux 100
# Fermeture de la fenêtre des résultats
- Click Element css=div#myModal41 button.close
+ Click Element css=div#myModal${ordre_ba} button.close

# On clique sur l'onglet du plan et on vérifie que le plan et les bureaux
# sont bien affiché et que cliquer sur l'icone des bureaux affiche leur résultat
@@ -365,17 +376,17 @@
Element Should Be Visible css=div#plan-${id_plan}

# Vérification de la présence et de la position des unités
- Element Should Be Visible css=button.unite-41-arrivee
- Element Should Be Visible css=button.unite-42-arrivee
- Element Should Be Visible css=button.unite-43-non-arrivee
- Verifier la position de l'icone ${position_x_A} ${position_y_A} css=div#plan-${id_plan} css=button.unite-41-arrivee
- Verifier la position de l'icone ${position_x_B} ${position_y_B} css=div#plan-${id_plan} css=button.unite-42-arrivee
- Verifier la position de l'icone ${position_x_C} ${position_y_C} css=div#plan-${id_plan} css=button.unite-43-non-arrivee
+ Element Should Be Visible css=img[alt="Résultats de l'unité 41 - Bureau d'A"]
+ Element Should Be Visible css=img[alt="Résultats de l'unité 42 - Bureau n°B"]
+ Element Should Be Visible css=img[alt="Unité 43 - Bûreau C non arrivé"]
+ Verifier la position de l'icone ${position_x_A} ${position_y_A} css=div#plan-${id_plan} css=img[alt="Résultats de l'unité 41 - Bureau d'A"]
+ Verifier la position de l'icone ${position_x_B} ${position_y_B} css=div#plan-${id_plan} css=img[alt="Résultats de l'unité 42 - Bureau n°B"]
+ Verifier la position de l'icone ${position_x_C} ${position_y_C} css=div#plan-${id_plan} css=img[alt="Unité 43 - Bûreau C non arrivé"]

# Test de l'affichage des résultats qaund on clique sur l'icone
- Click Element css=button.unite-41-arrivee
- Element Should Be Visible css=div#myModal41
- Click Element css=div#myModal41 button.close
+ Click Element css=img[alt="Résultats de l'unité 41 - Bureau d'A"]
+ Element Should Be Visible css=div#myModal${ordre_ba}
+ Click Element css=div#myModal${ordre_ba} button.close

Personnalisation de la page web
[Documentation] Test servant à vérifier que la personnalisation de la page web
@@ -422,12 +433,12 @@
Click On SubForm Portlet Action election_unite depublier_web modale
Cliquer sur le bouton de la fenêtre modale Confirmer
# Message de confirmation
- Message Should Contain ../web/res/00${id_election}-0/b41.html supprimé
+ Message Should Contain ../web/res/00${id_election}-0/b${ordre_ba}.html supprimé
Message Should Contain ../web/res/00${id_election}-0/unite.inc envoyé
Message Should Contain ../web/res/00${id_election}-0/collectivite.inc envoyé
Message Should Contain ../web/res/00${id_election}-0/election.inc envoyé
Message Should Contain Les fichiers du répertoire web ont été mis à jour
- File Should Not Exist ../web/res/00${id_election}-0/b41.html
+ File Should Not Exist ../web/res/00${id_election}-0/b${ordre_ba}.html

# La publication ne doit plus être automatique pour accéder à la case à cocher
&{election} = BuiltIn.Create Dictionary
@@ -434,17 +445,17 @@
... publication_auto=false
Modifier election ${id_election} ${election}
# Décochage de la case d'envoi
- Depuis le contexte election_unite ${id_election} 42 - Bureau n°B
+ Depuis le contexte election_unite ${id_election} 42 Bureau n°B
Click On SubForm Portlet Action election_unite modifier
Set Checkbox envoi_web false
Click On Submit Button In Subform
La page ne doit pas contenir d'erreur
- Message Should Contain ../web/res/00${id_election}-0/b42.html supprimé
+ Message Should Contain ../web/res/00${id_election}-0/b${ordre_bb}.html supprimé
Message Should Contain ../web/res/00${id_election}-0/unite.inc envoyé
Message Should Contain ../web/res/00${id_election}-0/collectivite.inc envoyé
Message Should Contain ../web/res/00${id_election}-0/election.inc envoyé
Message Should Contain Les fichiers du répertoire web ont été mis à jour
- File Should Not Exist ../web/res/00${id_election}-0/b42.html
+ File Should Not Exist ../web/res/00${id_election}-0/b${ordre_bb}.html

# Vérification des résultats affichés
Go To http://localhost/openresultat/web/index.php?election=00${id_election}-0
@@ -453,13 +464,14 @@
# Accés aux résultats par unités de l'onglet des résultats
Click Element css=a[href="#resultats"]
Click Element css=a[href="#resultats-par-unite"]
- # Le Bureau d'A n'est plus cliquable sur la page des unités
- Element Should Contain css=p.elem-41 41 - Bureau d'A
- Element Should Contain css=p.elem-42 42 - Bureau n°B
+ # Le Bureau d'A et le n°B ne sont plus cliquable sur la page des unités
+ Element Should Contain css=p.elem-${ordre_ba} 41 - Bureau d'A
+ Element Should Contain css=p.elem-${ordre_bb} 42 - Bureau n°B
# Vérification qu'il est marqué comme non arrivé sur le plan
Accéder à l'onglet de la page web plan-${id_plan} plan-${id_plan}
- Element Should Be Visible css=button.unite-41-non-arrivee
- Element Should Be Visible css=button.unite-42-non-arrivee
+ Element Should Be Visible css=img[alt="Unité 41 - Bureau d'A non arrivé"]
+ Element Should Be Visible css=img[alt="Unité 42 - Bureau n°B non arrivé"]
+ Element Should Be Visible css=img[alt="Unité 43 - Bûreau C non arrivé"]

Annulation de la participation
[Documentation] Test servant à vérifier que l'annulation de la participation
@@ -520,10 +532,8 @@
Use Simple Search unite Bureau n°B
CLick On Link Mairie ABC
Element Should Contain css=span#plan Mairie ABC
- Element Should Contain css=span#unite Bureau n°B
+ Element Should Contain css=span#unite 42 Bureau n°B
Element Should Contain css=div#img_unite_non_arrivee bureau_na.png
- Element Should Contain css=span#position_x ${position_x_B}
- Element Should Contain css=span#position_y ${position_y_B}

Mise à jour des plans de l'élection
[Documentation] Test servant à vérifier que l'action de ise à jour
@@ -541,7 +551,7 @@

&{plan_unite} = BuiltIn.Create Dictionary
... plan=Mairie ABC
- ... unite=Bureau d'A
+ ... unite=41 Bureau d'A
... img_unite_arrivee=
... position_x=0
... position_y=0
@@ -568,7 +578,7 @@
# Accés à l'onglet des plans
Reload Page
Accéder à l'onglet de la page web plan-${id_plan} plan-${id_plan}
- Verifier la position de l'icone 0 0 css=div#plan-${id_plan} css=button.unite-41-non-arrivee
+ Verifier la position de l'icone 0 0 css=div#plan-${id_plan} css=img[alt="Unité 41 - Bureau d'A non arrivé"]

# Le paramétrage des plans des centaines doit également avoir été mis à jour
Go To http://localhost/openresultat/web/index.php?election=00${id_centaine}-0C#resultats
@@ -575,7 +585,7 @@
# Accés à l'onglet des plans
Reload Page
Accéder à l'onglet de la page web plan-${id_plan} plan-${id_plan}
- Verifier la position de l'icone 0 0 css=div#plan-${id_plan} css=button.unite-41-arrivee
+ Verifier la position de l'icone 0 0 css=div#plan-${id_plan} css=img[alt="Résultats de l'unité 41 - Bureau d'A"]

Suppression du plan
[Documentation] Test servant à vérifier que la suppression d'un plan

Modified: branches/2.0.0-develop-import/tests/032_edition.robot
===================================================================
--- branches/2.0.0-develop-import/tests/032_edition.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/032_edition.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -52,7 +52,7 @@
# Saisie des résultats
Depuis le contexte election ${id_election}
Click On Tab election_unite unité(s)
- Click On Link 1 - Salle des Mariages
+ Click On Link 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 760
@@ -68,7 +68,7 @@

# Acces au Bureau B et saisie de ses résultats
Click On Back Button In Subform
- Click On Link 2 - Salle des fetes 1
+ Click On Link 2 Salle des fetes 1
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 742
@@ -82,7 +82,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 3 - Ecole A
+ Click On Link 3 Ecole A
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 919
@@ -96,7 +96,7 @@
Click On Submit Button In SubForm

Click On Back Button In Subform
- Click On Link 4 - Salle des fêtes 2
+ Click On Link 4 Salle des fêtes 2
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 915
@@ -110,7 +110,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 5 - Gymnase
+ Click On Link 5 Gymnase
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 761
@@ -124,7 +124,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 6 - Ecole B
+ Click On Link 6 Ecole B
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 680
@@ -172,10 +172,15 @@
Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Open PDF ${OM_PDF_TITLE}
La page ne doit pas contenir d'erreur

- # Elément à trouver : code, libellé, tour, date, candidat, resultat du candidat
+ # Elément à trouver : code, libellé, tour, circonscription, canton, commune, departement
+ # date, candidat, resultat du candidat
${contenu_pdf} = Create List
... Municipales 2020 1er tour
... 1
+ ... 53
+ ... 24
+ ... 13110
+ ... 13
... 2020-03-15
... Inscrits :
... 4777
@@ -209,12 +214,12 @@
... Municipales 2020 1er tour
... David G.
... Jean Michel B.
- ... 1 - Salle des Mariage
- ... 2 - Salle des fetes 1
- ... 3 - Ecole A
- ... 4 - Salle des fêtes 2
- ... 5 - Gymnase
- ... 6 - Ecole B
+ ... 1 Salle des Mariage
+ ... 2 Salle des fetes 1
+ ... 3 Ecole A
+ ... 4 Salle des fêtes 2
+ ... 5 Gymnase
+ ... 6 Ecole B
... 4777
... 1438
... 924
@@ -233,12 +238,12 @@

# Liste des eléments à touver : nom des unités, horaires, résultats à 10:00:00 + total + total %
${contenu_pdf} = Create List
- ... 1 - Salle des Mariage
- ... 2 - Salle des fetes 1
- ... 3 - Ecole A
- ... 4 - Salle des fêtes 2
- ... 5 - Gymnase
- ... 6 - Ecole B
+ ... 1 Salle des Mariage
+ ... 2 Salle des fetes 1
+ ... 3 Ecole A
+ ... 4 Salle des fêtes 2
+ ... 5 Gymnase
+ ... 6 Ecole B
... 09:00:00
... 10:00:00
... 18:00:00
@@ -268,12 +273,12 @@
${contenu_pdf} = Create List
... 1-David G.; 2-Jean Michel B.;
... - COMMUNE
- ... Salle des Mariage
- ... Salle des fetes 1
- ... Ecole A
- ... Salle des fêtes 2
- ... Gymnase
- ... Ecole B
+ ... 1 Salle des Mariage
+ ... 2 Salle des fetes 1
+ ... 3 Ecole A
+ ... 4 Salle des fêtes 2
+ ... 5 Gymnase
+ ... 6 Ecole B
... - Total général
... 4777
... 1438
@@ -323,12 +328,12 @@
... BUREAUX DE VOTE
... INS
... ABS
- ... Salle des Mariage
- ... Salle des fetes 1
- ... Ecole A
- ... Salle des fêtes 2
- ... Gymnase
- ... Ecole B
+ ... 1 Salle des Mariage
+ ... 2 Salle des fetes 1
+ ... 3 Ecole A
+ ... 4 Salle des fêtes 2
+ ... 5 Gymnase
+ ... 6 Ecole B
... 4777
... 1438
... 924

Modified: branches/2.0.0-develop-import/tests/033_export.robot
===================================================================
--- branches/2.0.0-develop-import/tests/033_export.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/033_export.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -54,7 +54,7 @@
# Saisie des résultats
Depuis le contexte election ${id_election}
Click On Tab election_unite unité(s)
- Click On Link 1 - Salle des Mariages
+ Click On Link 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 760
@@ -68,7 +68,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 2 - Salle des fetes 1
+ Click On Link 2 Salle des fetes 1
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 742
@@ -82,7 +82,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 3 - Ecole A
+ Click On Link 3 Ecole A
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 919
@@ -96,7 +96,7 @@
Click On Submit Button In SubForm
Click On Back Button In Subform

- Click On Link 4 - Salle des fêtes 2
+ Click On Link 4 Salle des fêtes 2
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 915
@@ -110,7 +110,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 5 - Gymnase
+ Click On Link 5 Gymnase
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 761
@@ -124,7 +124,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 6 - Ecole B
+ Click On Link 6 Ecole B
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 680
@@ -175,7 +175,7 @@
${link} = Get Element Attribute css=div.message a href
${content_file} = Contenu CSV ${link}
# On vérifie dans le fichier téléchargé que la première ligne correspond à ce qui est attendu
- ${header_csv_file} = Set Variable 1;MN;2020;V;1;13;004;0001;R;760;322;438;8;1;429;2;100;251;101;178
+ ${header_csv_file} = Set Variable 1;MN;2020;V;1;13;13110;0001;R;760;322;438;8;1;429;2;100;251;101;178
Should Contain ${content_file} ${header_csv_file}

Détail des résultats
@@ -192,5 +192,5 @@
${header_csv_file} = Set Variable id;élection;candidat;unité;résultat
Should Contain ${content_file} ${header_csv_file}
# On vérifie dans le fichier téléchargé que la première ligne correspond à ce qui est attendu
- ${firstline_csv_file} = Set Variable ;"Municipales 2020 1er tour";"David G.";"Salle des Mariages";251
+ ${firstline_csv_file} = Set Variable ;"Municipales 2020 1er tour";"David G.";"1 Salle des Mariages";251
Should Contain ${content_file} ${firstline_csv_file}

Modified: branches/2.0.0-develop-import/tests/034_traitement_resultat.robot
===================================================================
--- branches/2.0.0-develop-import/tests/034_traitement_resultat.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/034_traitement_resultat.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -12,6 +12,8 @@

Depuis la page d'accueil admin admin

+ # Nombre de siège non défini pour tester le remplissage avec les valeurs par défauts
+ # issus du paramétrage
&{election} = BuiltIn.Create Dictionary
... libelle=Municipales 2020 1er tour
... code=MUN20-1
@@ -52,7 +54,7 @@
# Saisie des résultats
Depuis le contexte election ${id_election}
Click On Tab election_unite unité(s)
- Click On Link 1 - Salle des Mariages
+ Click On Link 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 760
@@ -66,7 +68,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 2 - Salle des fetes 1
+ Click On Link 2 Salle des fetes 1
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 742
@@ -80,7 +82,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 3 - Ecole A
+ Click On Link 3 Ecole A
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 919
@@ -94,7 +96,7 @@
Click On Submit Button In SubForm
Click On Back Button In Subform

- Click On Link 4 - Salle des fêtes 2
+ Click On Link 4 Salle des fêtes 2
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 915
@@ -108,7 +110,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 5 - Gymnase
+ Click On Link 5 Gymnase
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 761
@@ -122,7 +124,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 6 - Ecole B
+ Click On Link 6 Ecole B
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 680
@@ -154,6 +156,8 @@
... perimetre=COMMUNE
... heure_ouverture=08:00:00
... heure_fermeture=18:00:00
+ ... siege=29
+ ... siege_com=1
${id_election_2} = Ajouter election ${election}

# Durant l'étape de simulation, la saisie des résultats, le calcul des sièges
@@ -188,7 +192,7 @@
${id_candidat2} = Ajouter election_candidat ${candidat} ${id_election_2}

# Cas 2 : election sans vote exprimé
- Depuis le contexte election_unite ${id_election_2} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election_2} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 760
@@ -209,7 +213,7 @@
Message Should Contain Le nombre de sièges n'a pas pu être calculé !

# Cas 3 : calcul avec résultat manquant pour un des candidats
- Depuis le contexte election_unite ${id_election_2} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election_2} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text exprime 430
@@ -233,8 +237,10 @@
Message Should Contain Le nombre de sièges n'a pas pu être calculé !

# Cas 4 : calcul sans sièges à attribuer et avec un nombre de siège nul
- Supprimer le paramètre sieges 29
- Modifier le paramètre sieges_com 0
+ &{election} = BuiltIn.Create Dictionary
+ ... sieges=${EMPTY}
+ ... sieges_com=0
+ Modifier election ${id_election_2} ${election}

Depuis le contexte election ${id_election_2}
Click On Form Portlet Action election siege modale
@@ -245,10 +251,12 @@
Message Should Contain C O N S E I L M U N I C I P A L\n\nErreur : le nombre de siège à répartir n'est pas renseigné ou nul\nLe nombre de sièges n'a pas pu être calculé !\n\nC O N S E I L C O M M U N A U T A I R E\n\nErreur : le nombre de siège à répartir n'est pas renseigné ou nul\nLe nombre de sièges n'a pas pu être calculé !

# Cas 5 : calcul avec tous les candidats ayant moins de 5% des voix
- Ajouter le paramètre depuis le menu sieges 29 null
- Modifier le paramètre sieges_com 1
+ &{election} = BuiltIn.Create Dictionary
+ ... sieges=29
+ ... sieges_com=1
+ Modifier election ${id_election_2} ${election}

- Depuis le contexte election_unite ${id_election_2} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election_2} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text exprime 430
@@ -287,7 +295,7 @@
# Saisie des résultats
Depuis le contexte election ${id_election}
Click On Tab election_unite unité(s)
- Click On Link 1 - Salle des Mariages
+ Click On Link 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 760
@@ -301,7 +309,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 2 - Salle des fetes 1
+ Click On Link 2 Salle des fetes 1
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 742
@@ -315,7 +323,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 3 - Ecole A
+ Click On Link 3 Ecole A
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 919
@@ -329,7 +337,7 @@
Click On Submit Button In SubForm
Click On Back Button In Subform

- Click On Link 4 - Salle des fêtes 2
+ Click On Link 4 Salle des fêtes 2
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 915
@@ -343,7 +351,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 5 - Gymnase
+ Click On Link 5 Gymnase
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 761
@@ -357,7 +365,7 @@
Click On Submit Button In Subform
Click On Back Button In Subform

- Click On Link 6 - Ecole B
+ Click On Link 6 Ecole B
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 680

Modified: branches/2.0.0-develop-import/tests/035_imports.robot
===================================================================
--- branches/2.0.0-develop-import/tests/035_imports.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/035_imports.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -6,15 +6,15 @@


*** Test Cases ***
-Import des unités depuis un fichier csv d'ELIRE
+Import des inscrits depuis un fichier csv d'Elire
[Documentation] L'objet de ce test case est de tester que l'import
- ... des unités de saisie à l'aide d'un fichier csv, issus d'ELIRE,
+ ... des inscrits à l'aide d'un fichier csv, issus d'Elire,
... récupère et enregistre correctement les données dans la base

- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage import_unite
- La page ne doit pas contenir d'erreur
- Add File fic1 ListeBureauVoteElire.csv
+ Depuis la page d'accueil admin admin
+
+ Depuis le formulaire d'import des unités
+ Add File fic1 ListeBureauVoteElire_T035.csv
Select From List By Label separateur , (virgule)
Click On Submit Button In Import CSV

@@ -22,189 +22,6 @@
Valid Message Should Contain - 1 ligne(s) d'entête
Valid Message Should Contain - 4 ligne(s) importée(s)

- # Vérification que le canton et la circonscription ont été créés
- Depuis le listing canton
- Use Simple Search prefecture 95-17
- Click On Link 95-17
- Element Should Contain css=span#libelle Saint-Ouen-l'Aumône
-
- Depuis le listing circonscription
- Use Simple Search prefecture 09502
- Click On Link 09502
- Element Should Contain css=span#libelle Circonscription import
-
- # Vérification pour chaque unité qu'elles existent et que les valeur
- # enregistrées sont bien celle attendues
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=Mairie Import
- ... type_unite=Bureau de vote
- ... ordre=001
- ... circonscription_prefecture=95-02
- ... canton_prefecture=95-17
- ... adresse1=42 Avenue du test marseille
- ... adresse2=
- ... cp=13014
- ... perimetre=Non
- ... code_bureau_vote=001
- L'unite a été correctement importée ${unite} 1507
-
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=Ecole Import
- ... type_unite=Bureau de vote
- ... ordre=002
- ... circonscription_prefecture=095-02
- ... canton_prefecture=095 17
- ... adresse1=42 Rue du test des imports, batiment a Annecy
- ... adresse2=
- ... cp=74000
- ... perimetre=Non
- ... code_bureau_vote=002
- L'unite a été correctement importée ${unite} 1508
-
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=Gymnase Import
- ... type_unite=Bureau de vote
- ... ordre=003
- ... circonscription_prefecture=09502
- ... canton_prefecture=9517
- ... adresse1=
- ... adresse2=
- ... cp=
- ... ville=
- ... perimetre=Non
- ... code_bureau_vote=003
- L'unite a été correctement importée ${unite} 1509
-
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=Salle des Fêtes Import
- ... type_unite=Bureau de vote
- ... ordre=004
- ... circonscription_prefecture=
- ... canton_prefecture=
- ... adresse1=
- ... adresse2=
- ... cp=
- ... ville=
- ... perimetre=Non
- ... code_bureau_vote=004
- L'unite a été correctement importée ${unite} 1510
-
-Import des unités depuis un fichier csv d'openElec
- [Documentation] L'objet de ce test case est de tester que l'import
- ... des unités de saisie à l'aide d'un fichier csv, issus d'openElec,
- ... récupère et enregistre correctement les données dans la base
-
- Depuis la page d'accueil admin admin
- Go To Submenu In Menu parametrage import_unite
- La page ne doit pas contenir d'erreur
- Add File fic1 ListeBureauVoteOpenelec.csv
- Select From List By Label separateur ; (point-virgule)
- Click On Submit Button In Import CSV
-
- Valid Message Should Contain 8 ligne(s) dans le fichier dont :
- Valid Message Should Contain - 1 ligne(s) d'entête
- Valid Message Should Contain - 6 ligne(s) importée(s)
-
- # Vérification que le canton et la circonscription ont été créés
- Depuis le listing canton
- Use Simple Search prefecture 13-28
- Click On Link 13-28
- Element Should Contain css=span#libelle Trets
-
- Depuis le listing circonscription
- Use Simple Search prefecture 13-10
- Click On Link 13-10
- Element Should Contain css=span#libelle 13-10
-
- # Vérification pour chaque unité qu'elles existent et que les valeur
- # enregistrées sont bien celle attendues
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=SALLE DES MARIAGES
- ... type_unite=Bureau de vote
- ... ordre=1
- ... circonscription_prefecture=13-10
- ... canton_prefecture=13-28
- ... adresse1=
- ... adresse2=
- ... cp=
- ... perimetre=Non
- ... code_bureau_vote=1
- L'unite a été correctement importée ${unite} 9959
-
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=SALLE DES FETES JEAN MONNET
- ... type_unite=Bureau de vote
- ... ordre=2
- ... circonscription_prefecture=13-10
- ... canton_prefecture=13-28
- ... adresse1=
- ... adresse2=
- ... cp=
- ... perimetre=Non
- ... code_bureau_vote=2
- L'unite a été correctement importée ${unite} 49965
-
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=ECOLE DU CANET
- ... type_unite=Bureau de vote
- ... ordre=3
- ... circonscription_prefecture=13-10
- ... canton_prefecture=13-28
- ... adresse1=
- ... adresse2=
- ... cp=
- ... ville=
- ... perimetre=Non
- ... code_bureau_vote=3
- L'unite a été correctement importée ${unite} 52493
-
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=SALLE DES FETES JEAN MONNET
- ... type_unite=Bureau de vote
- ... ordre=4
- ... circonscription_prefecture=13-10
- ... canton_prefecture=13-28
- ... adresse1=
- ... adresse2=
- ... cp=
- ... ville=
- ... perimetre=Non
- ... code_bureau_vote=4
- L'unite a été correctement importée ${unite} 30945
-
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=LE GYMNASE
- ... type_unite=Bureau de vote
- ... ordre=5
- ... circonscription_prefecture=13-10
- ... canton_prefecture=13-28
- ... adresse1=
- ... adresse2=
- ... cp=
- ... ville=
- ... perimetre=Non
- ... code_bureau_vote=5
- L'unite a été correctement importée ${unite} 35558
-
- &{unite} = BuiltIn.Create Dictionary
- ... libelle=ECOLE DU VILLAGE
- ... type_unite=Bureau de vote
- ... ordre=6
- ... circonscription_prefecture=13-10
- ... canton_prefecture=13-28
- ... adresse1=
- ... adresse2=
- ... cp=
- ... ville=
- ... perimetre=Non
- ... code_bureau_vote=6
- L'unite a été correctement importée ${unite} 24419
-
-Import des inscrits depuis un fichier csv d'Elire
- [Documentation] L'objet de ce test case est de tester que l'import
- ... des inscrits à l'aide d'un fichier csv, issus d'Elire,
- ... récupère et enregistre correctement les données dans la base
-
# Création du périmètre de l'élection et lien avec les unités
&{unite} = BuiltIn.Create Dictionary
... libelle=Commune Elire
@@ -214,10 +31,10 @@
... ordre=99
${idUnite} = Ajouter unite ${unite}

- Ajouter lien_unite Commune Elire 001 - Mairie Import
- Ajouter lien_unite Commune Elire 002 - Ecole Import
- Ajouter lien_unite Commune Elire 003 - Gymnase Import
- Ajouter lien_unite Commune Elire 004 - Salle des Fêtes Import
+ Ajouter lien_unite Commune Elire 001 - T035 Mairie Import inscrits
+ Ajouter lien_unite Commune Elire 002 - T035 Ecole Import inscrits
+ Ajouter lien_unite Commune Elire 003 - T035 Gymnase Import inscrits
+ Ajouter lien_unite Commune Elire 004 - T035 Salle des Fêtes Import inscrits

# Création de l'élection et import des inscrits
&{election} = BuiltIn.Create Dictionary
@@ -233,9 +50,9 @@

# import de la liste principale et vérification
Depuis le contexte election ${idElection}
- Click On Form Portlet Action election import_inscrit
+ Click On Form Portlet Action election import_inscrits
La page ne doit pas contenir d'erreur
- Add File fic1 ListeBureauVoteElire.csv
+ Add File fic1 ListeBureauVoteElire_T035.csv
Select From List By Label separateur , (virgule)
Select From List By Label inscrit LP
Click On Submit Button In Import CSV
@@ -248,20 +65,20 @@
Click On Back Button In Import CSV
Click On Tab election_unite unité(s)

- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 01 - Mairie Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 01 T035 Mairie Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 5 127
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 02 - Ecole Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 02 T035 Ecole Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 5 184
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 03 - Gymnase Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 03 T035 Gymnase Import inscrits
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 - Salle des Fêtes Import
+ 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}

# import de la liste principale + liste complémentaire municipale et vérification
Depuis le contexte election ${idElection}
- Click On Form Portlet Action election import_inscrit
+ Click On Form Portlet Action election import_inscrits
La page ne doit pas contenir d'erreur
- Add File fic1 ListeBureauVoteElire.csv
+ Add File fic1 ListeBureauVoteElire_T035.csv
Select From List By Label separateur , (virgule)
Select From List By Label inscrit LP + LCM
Click On Submit Button In Import CSV
@@ -273,20 +90,20 @@
Click On Back Button In Import CSV
Click On Tab election_unite unité(s)

- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 01 - Mairie Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 01 T035 Mairie Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 5 133
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 02 - Ecole Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 02 T035 Ecole Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 5 191
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 03 - Gymnase Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 03 T035 Gymnase Import inscrits
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 - Salle des Fêtes Import
+ 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}

# import de la liste principale + liste complémentaire européenne et vérification
Depuis le contexte election ${idElection}
- Click On Form Portlet Action election import_inscrit
+ Click On Form Portlet Action election import_inscrits
La page ne doit pas contenir d'erreur
- Add File fic1 ListeBureauVoteElire.csv
+ Add File fic1 ListeBureauVoteElire_T035.csv
Select From List By Label separateur , (virgule)
Select From List By Label inscrit LP + LCE
Click On Submit Button In Import CSV
@@ -294,17 +111,17 @@
Valid Message Should Contain 5 ligne(s) dans le fichier dont :
Valid Message Should Contain - 1 ligne(s) d'entête
Valid Message Should Contain - 4 ligne(s) importée(s)
-
+
Click On Back Button In Import CSV
Click On Tab election_unite unité(s)

- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 01 - Mairie Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 01 T035 Mairie Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 5 132
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 02 - Ecole Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 3 02 T035 Ecole Import inscrits
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 3 5 190
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 03 - Gymnase Import
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 03 T035 Gymnase Import inscrits
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 - Salle des Fêtes Import
+ 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}

Import des inscrits depuis un fichier csv d'openElec
@@ -312,6 +129,15 @@
... des inscrits à l'aide d'un fichier csv, issus d'openElec,
... récupère et enregistre correctement les données dans la base

+ Depuis le formulaire d'import des unités
+ Add File fic1 ListeBureauVoteOpenelec_T035.csv
+ Select From List By Label separateur ; (point-virgule)
+ Click On Submit Button In Import CSV
+
+ Valid Message Should Contain 8 ligne(s) dans le fichier dont :
+ Valid Message Should Contain - 1 ligne(s) d'entête
+ Valid Message Should Contain - 6 ligne(s) importée(s)
+
# Création du périmètre de l'élection et lien avec les unités
&{unite} = BuiltIn.Create Dictionary
... libelle=Commune openElec
@@ -321,12 +147,12 @@
... ordre=100
${idUnite} = Ajouter unite ${unite}

- Ajouter lien_unite Commune openElec 1 - SALLE DES MARIAGES
- Ajouter lien_unite Commune openElec 2 - SALLE DES FETES JEAN MONNET
- Ajouter lien_unite Commune openElec 3 - ECOLE DU CANET
- Ajouter lien_unite Commune openElec 4 - SALLE DES FETES JEAN MONNET
- Ajouter lien_unite Commune openElec 5 - LE GYMNASE
- Ajouter lien_unite Commune openElec 6 - ECOLE DU VILLAGE
+ Ajouter lien_unite Commune openElec 1 - T035 SALLE DES MARIAGES
+ Ajouter lien_unite Commune openElec 2 - T035 SALLE DES FETES JEAN MONNET
+ Ajouter lien_unite Commune openElec 3 - T035 ECOLE DU CANET
+ Ajouter lien_unite Commune openElec 4 - T035 SALLE DES FETES JEAN MONNET
+ Ajouter lien_unite Commune openElec 5 - T035 LE GYMNASE
+ Ajouter lien_unite Commune openElec 6 - T035 ECOLE DU VILLAGE

# Création de l'élection
&{election} = BuiltIn.Create Dictionary
@@ -342,9 +168,9 @@

# import de la liste principale et vérification
Depuis le contexte election ${idElection}
- Click On Form Portlet Action election import_inscrit
+ Click On Form Portlet Action election import_inscrits
La page ne doit pas contenir d'erreur
- Add File fic1 inscritOpenElec.csv
+ Add File fic1 inscritOpenElec_T035.csv
Select From List By Label separateur ; (point-virgule)
Select From List By Label inscrit LP
Click On Submit Button In Import CSV
@@ -357,24 +183,24 @@
Click On Back Button In Import CSV
Click On Tab election_unite unité(s)

- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 1 - SALLE DES MARIAGES
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 1 T035 SALLE DES MARIAGES
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 5 767
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 2 - SALLE DES FETES JEAN MONNET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 2 T035 SALLE DES FETES JEAN MONNET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 5 739
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 3 - ECOLE DU CANET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 3 T035 ECOLE DU CANET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 5 975
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 4 - SALLE DES FETES JEAN MONNET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 4 T035 SALLE DES FETES JEAN MONNET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 5 917
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 7 3 5 - LE GYMNASE
+ 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 - ECOLE DU VILLAGE
+ 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

# import de la liste principale + liste complémentaire municipale et vérification
Depuis le contexte election ${idElection}
- Click On Form Portlet Action election import_inscrit
+ Click On Form Portlet Action election import_inscrits
La page ne doit pas contenir d'erreur
- Add File fic1 inscritOpenElec.csv
+ Add File fic1 inscritOpenElec_T035.csv
Select From List By Label separateur ; (point-virgule)
Select From List By Label inscrit LP + LCM
Click On Submit Button In Import CSV
@@ -387,24 +213,24 @@
Click On Back Button In Import CSV
Click On Tab election_unite unité(s)

- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 1 - SALLE DES MARIAGES
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 1 T035 SALLE DES MARIAGES
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 5 770
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 2 - SALLE DES FETES JEAN MONNET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 2 T035 SALLE DES FETES JEAN MONNET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 5 742
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 3 - ECOLE DU CANET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 3 T035 ECOLE DU CANET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 5 976
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 4 - SALLE DES FETES JEAN MONNET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 4 T035 SALLE DES FETES JEAN MONNET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 5 919
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 7 3 5 - LE GYMNASE
+ 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 - ECOLE DU VILLAGE
+ 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

# import de la liste principale + liste complémentaire européenne et vérification
Depuis le contexte election ${idElection}
- Click On Form Portlet Action election import_inscrit
+ Click On Form Portlet Action election import_inscrits
La page ne doit pas contenir d'erreur
- Add File fic1 inscritOpenElec.csv
+ Add File fic1 inscritOpenElec_T035.csv
Select From List By Label separateur ; (point-virgule)
Select From List By Label inscrit LP + LCE
Click On Submit Button In Import CSV
@@ -412,19 +238,19 @@
Valid Message Should Contain 8 ligne(s) dans le fichier dont :
Valid Message Should Contain - 1 ligne(s) d'entête
Valid Message Should Contain - 6 ligne(s) importée(s)
-
+
Click On Back Button In Import CSV
Click On Tab election_unite unité(s)

- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 1 - SALLE DES MARIAGES
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 3 1 T035 SALLE DES MARIAGES
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 2 5 770
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 2 - SALLE DES FETES JEAN MONNET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 3 2 T035 SALLE DES FETES JEAN MONNET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 4 5 742
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 3 - ECOLE DU CANET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 3 3 T035 ECOLE DU CANET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 5 5 976
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 4 - SALLE DES FETES JEAN MONNET
+ Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 3 4 T035 SALLE DES FETES JEAN MONNET
Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 6 5 919
- Table Cell Should Contain css=div#sousform-election_unite table.tab-tab 7 3 5 - LE GYMNASE
+ 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 - ECOLE DU VILLAGE
+ 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

Modified: branches/2.0.0-develop-import/tests/036_conflits_saisie.robot
===================================================================
--- branches/2.0.0-develop-import/tests/036_conflits_saisie.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/036_conflits_saisie.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -51,7 +51,7 @@
Passer à l'étape suivante simulation

# Saisie des résultats
- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 348
@@ -67,7 +67,7 @@
Open Browser http://localhost/openresultat/app/index.php firefox 2
Depuis la page d'accueil admin admin

- Depuis le contexte election_unite ${id_election} 1 - Salle des Mariages
+ Depuis le contexte election_unite ${id_election} 1 Salle des Mariages
Click On SubForm Portlet Action election_unite modifier
# Remplissage du formulaire
Input Text inscrit 760
@@ -126,18 +126,18 @@

&{delegation} = BuiltIn.Create Dictionary
... acteur=conflit1
- ... unite=Salle des Mariages
+ ... unite=1 Salle des Mariages
Ajouter delegation ${delegation} ${id_election}

&{delegation} = BuiltIn.Create Dictionary
... acteur=conflit2
- ... unite=Salle des Mariages
+ ... unite=1 Salle des Mariages
Ajouter delegation ${delegation} ${id_election}

# Saisie des résultats
Depuis la page d'accueil conflit1 conflit1

- Depuis le contexte de la participation par unite ${id_election} Salle des Mariages
+ Depuis le contexte de la participation par unite ${id_election} 1 Salle des Mariages
Click On SubForm Portlet Action delegation_participation modifier
Input Text css=fieldset#fieldset-sousform-delegation_participation-participation div.field:nth-child(1) input 25
Input Text css=fieldset#fieldset-sousform-delegation_participation-participation div.field:nth-child(2) input 50
@@ -147,7 +147,7 @@
Switch Browser 2
Depuis la page d'accueil conflit2 conflit2

- Depuis le contexte de la participation par unite ${id_election} Salle des Mariages
+ Depuis le contexte de la participation par unite ${id_election} 1 Salle des Mariages
Click On SubForm Portlet Action delegation_participation modifier
Input Text css=fieldset#fieldset-sousform-delegation_participation-participation div.field:nth-child(1) input 0
Input Text css=fieldset#fieldset-sousform-delegation_participation-participation div.field:nth-child(2) input 0

Copied: branches/2.0.0-develop-import/tests/binary_files/ListeBureauVoteElire_T035.csv (from rev 1047, branches/2.0.0-develop/tests/binary_files/ListeBureauVoteElire_T035.csv)
===================================================================
--- branches/2.0.0-develop-import/tests/binary_files/ListeBureauVoteElire_T035.csv (rev 0)
+++ branches/2.0.0-develop-import/tests/binary_files/ListeBureauVoteElire_T035.csv 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,5 @@
+"Id","Code du bureau","Libellé du bureau","Adresse","Circonscription législative","Canton","N° d’appartement - d’étage - de couloir - d’escalier","Entrée - bâtiment - résidence","Commune","BP, lieu-dit ou ancienne commune","Code postal","Pays","Nombre d'électeurs inscrits en liste principale","Nombre d'électeurs inscrits en liste complémentaire municipale","Nombre d'électeurs inscrits en liste complémentaire européenne"
+"1901","001","T035 Mairie Import inscrits","42 Avenue du test 13014 marseille france","95-02","95-17 - Saint-Ouen-l'Aumône","","","","","","","127","6","5"
+"1902","002","T035 Ecole Import inscrits","42 Rue du test des imports, batiment a 74000 Annecy","095-02 - Circonscription import","095 17","","","","","","","184","7","6"
+"1903","003","T035 Gymnase Import inscrits","France","09502 Circonscription import","9517 Saint-Ouen-l'Aumône","","","","","","","143","5","4"
+"1904","004","T035 Salle des Fêtes Import inscrits"," ","","","","","","","","","","",""
\ No newline at end of file

Copied: branches/2.0.0-develop-import/tests/binary_files/ListeBureauVoteOpenelec_T035.csv (from rev 1047, branches/2.0.0-develop/tests/binary_files/ListeBureauVoteOpenelec_T035.csv)
===================================================================
--- branches/2.0.0-develop-import/tests/binary_files/ListeBureauVoteOpenelec_T035.csv (rev 0)
+++ branches/2.0.0-develop-import/tests/binary_files/ListeBureauVoteOpenelec_T035.csv 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,7 @@
+"Identifiant du bureau";"Code";"Libellé";"Numero de voie";"Libellé de voie";"Complément 1";"Complément 2";"Lieu-dit";"Code postal";"Commune";"Pays";"Code de la circonscription législative";"Libellé de la circonscription législative";"Code du canton";"Libellé du canton"
+99591;"1";"T035 SALLE DES MARIAGES";;;;;;;;;"13-10";"13-10";"13-28";"Trets"
+49961;"2";"T035 SALLE DES FETES JEAN MONNET";;;;;;;;;"13-10";"13-10";"13-28";"Trets"
+52491;"3";"T035 ECOLE DU CANET";;;;;;;;;"13-10";"13-10";"13-28";"Trets"
+30941;"4";"T035 SALLE DES FETES JEAN MONNET";;;;;;;;;"13-10";"13-10";"13-28";"Trets"
+35551;"5";"T035 LE GYMNASE";;;;;;;;;"13-10";"13-10";"13-28";"Trets"
+24411;"6";"T035 ECOLE DU VILLAGE";;;;;;;;;"13-10";"13-10";"13-28";"Trets"

Copied: branches/2.0.0-develop-import/tests/binary_files/inscritOpenElec_T035.csv (from rev 1047, branches/2.0.0-develop/tests/binary_files/inscritOpenElec_T035.csv)
===================================================================
--- branches/2.0.0-develop-import/tests/binary_files/inscritOpenElec_T035.csv (rev 0)
+++ branches/2.0.0-develop-import/tests/binary_files/inscritOpenElec_T035.csv 2021-05-05 14:03:29 UTC (rev 1048)
@@ -0,0 +1,7 @@
+"Identifiant du bureau";"Nombre d'électeurs inscrits en LP";"Nombre d'électeurs inscrits en LCM";"Nombre d'électeurs inscrits en LCE"
+99591;767;3;3
+24411;671;14;14
+30941;917;2;2
+35551;772;0;0
+49961;739;3;3
+52491;975;1;1

Modified: branches/2.0.0-develop-import/tests/data/pgsql/init_data.sql
===================================================================
--- branches/2.0.0-develop-import/tests/data/pgsql/init_data.sql 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/data/pgsql/init_data.sql 2021-05-05 14:03:29 UTC (rev 1048)
@@ -19,24 +19,33 @@
-- identifiant des BV
INSERT INTO om_parametre (om_parametre, libelle, valeur, om_collectivite) VALUES (nextval('om_parametre_seq'), 'id_type_unite_bureau_de_vote', '1', 1);

+-- decoupage administratif
+INSERT INTO circonscription (circonscription, libelle, code, prefecture)
+ VALUES (1, '13-53', '13-53', '53');
+SELECT pg_catalog.setval('circonscription_seq', 2, false);

+INSERT INTO canton (canton, libelle, code, prefecture)
+ VALUES (1, 'Exemple', '13-24', '24');
+SELECT pg_catalog.setval('canton_seq', 2, false);

+INSERT INTO commune (commune, libelle, code, prefecture)
+ VALUES (1, 'Exemple', '13110', '13110');
+SELECT pg_catalog.setval('commune_seq', 2, false);

+INSERT INTO departement (departement, libelle, code, prefecture)
+ VALUES (1, 'Bouches-du-Rhône', '13', '13');
+SELECT pg_catalog.setval('departement_seq', 2, false);
+
-- decoupage unite
-INSERT INTO unite (unite, libelle, type_unite, ordre)
- VALUES (1, 'Salle des Mariages', 1, 1);
-INSERT INTO unite (unite, libelle, type_unite, ordre)
- VALUES (2, 'Salle des fetes 1', 1, 2);
-INSERT INTO unite (unite, libelle, type_unite, ordre)
- VALUES (3, 'Ecole A', 1, 3);
-INSERT INTO unite (unite, libelle, type_unite, ordre)
- VALUES (4, 'Salle des fêtes 2', 1, 4);
-INSERT INTO unite (unite, libelle, type_unite, ordre)
- VALUES (5, 'Gymnase', 1, 5);
-INSERT INTO unite (unite, libelle, type_unite, ordre)
- VALUES (6, 'Ecole B', 1, 6);
-INSERT INTO unite (unite, libelle, type_unite, ordre, type_unite_contenu, perimetre)
- VALUES (7, 'COMMUNE', 7, 7, 1, true);
+INSERT INTO unite (unite, libelle, type_unite, ordre, canton_prefecture, circonscription_prefecture,
+ type_unite_contenu, perimetre, code_unite, canton, circonscription, commune, departement) VALUES
+ (1, 'Salle des Mariages', 1, 1, '24', '53', null, false, 001, 1, 1, 1, 1),
+ (2, 'Salle des fetes 1', 1, 2, '24', '53', null, false, 002, 1, 1, 1, 1),
+ (3, 'Ecole A', 1, 3, '24', '53', null, false, 003, 1, 1, 1, 1),
+ (4, 'Salle des fêtes 2', 1, 4, '24', '53', null, false, 004, 1, 1, 1, 1),
+ (5, 'Gymnase', 1, 5, '24', '53', null, false, 005, 1, 1, 1, 1),
+ (6, 'Ecole B', 1, 6, '24', '53', null, false, 006, 1, 1, 1, 1),
+ (7, 'COMMUNE', 7, 7, '24', '53', 1, true, null, 1, 1, 1, 1);
SELECT pg_catalog.setval('unite_seq', 8, false);

-- lien unite
@@ -97,7 +106,7 @@

-- données pour les tests des périmètres

-INSERT INTO unite (unite, libelle, type_unite, ordre, perimetre, type_unite_contenu, code_bureau_vote) VALUES
+INSERT INTO unite (unite, libelle, type_unite, ordre, perimetre, type_unite_contenu, code_unite) VALUES
(8, 'BV1', 1, 1, false, null, 1),
(9, 'BV2', 1, 2, false, null, 2),
(10, 'BV3', 1, 3, false, null, 3),

Modified: branches/2.0.0-develop-import/tests/data/pgsql/init_parametrage.sql
===================================================================
--- branches/2.0.0-develop-import/tests/data/pgsql/init_parametrage.sql 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/data/pgsql/init_parametrage.sql 2021-05-05 14:03:29 UTC (rev 1048)
@@ -11,8 +11,8 @@
(nextval('om_parametre_seq'), 'id_default_heure_ouverture', '1', 1),
(nextval('om_parametre_seq'), 'id_default_heure_fermeture', '11', 1),
-- nombre de sieges municipale et communautaire
-(nextval('om_parametre_seq'), 'sieges', '29', 1),
-(nextval('om_parametre_seq'), 'sieges_com', '1', 1),
+(nextval('om_parametre_seq'), 'nb_sieges_default', '29', 1),
+(nextval('om_parametre_seq'), 'nb_sieges_com_default', '1', 1),
-- nombre d'unite a afficher dans la liste election_unite (onglet election)
(nextval('om_parametre_seq'), 'nombre_unite', '35', 1);

@@ -89,6 +89,9 @@
election.tour as tour,
election.type_election as type_election,
election.date as date,
+ departement.prefecture as departement,
+ commune.prefecture as commune,
+ unite.circonscription_prefecture as circonscription,
inscrit,
(inscrit - votant) AS abstention,
votant,
@@ -106,6 +109,12 @@
&DB_PREFIXEelection
INNER JOIN &DB_PREFIXEelection_unite
ON election.perimetre = election_unite.unite AND election.election = election_unite.election
+ INNER JOIN &DB_PREFIXEunite
+ ON election_unite.unite = unite.unite
+ LEFT JOIN &DB_PREFIXEdepartement
+ ON unite.departement = departement.departement
+ LEFT JOIN &DB_PREFIXEcommune
+ ON unite.commune = commune.commune
WHERE
election.election=''&idx''',
'[libelle]
@@ -113,6 +122,9 @@
[tour]
[type_election]
[date]
+[departement]
+[commune]
+[circonscription]
[inscrit]
[abstention]
[votant]
@@ -133,10 +145,14 @@
election.tour as tour,
election.type_election as type_election,
election.date as date,
- unite.libelle as libelle_unite,
- unite.ordre as code_unite,
+ unite.libelle,
+ unite.code_unite,
+ concat(unite.code_unite, '' '', unite.libelle) as unite.label,
unite.canton_prefecture as code_canton,
+ unite.circonscription_prefecture as code_circonscription,
canton.libelle as libelle_canton,
+ commune.prefecture as code_commune,
+ departement.prefecture as code_departement,
inscrit,
(inscrit - votant) AS abstention,
votant,
@@ -158,6 +174,10 @@
ON election_unite.unite = unite.unite
LEFT JOIN &DB_PREFIXEcanton
ON unite.canton = canton.canton
+ LEFT JOIN &DB_PREFIXEcommune
+ ON unite.commune = commune.commune
+ LEFT JOIN &DB_PREFIXEdepartement
+ ON unite.departement = departement.departement
WHERE
election_unite.election_unite=''&idx''',
'[election_libelle]
@@ -165,10 +185,14 @@
[tour]
[type_election]
[date]
-[libelle_unite]
-[code_unite]
+[unite.libelle]
+[unite.code]
+[unite.label]
+[code_circonscription]
[libelle_canton]
[code_canton]
+[code_commune]
+[code_departement]
[inscrit]
[abstention]
[votant]
@@ -206,7 +230,7 @@
<td style=''width: 20%;''><br /><span style=''font-size: 12pt;''> [libelle]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>CIRCONSCRIPTION</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;circonscription</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[circonscription]</span></td>
</tr>
<tr>
<td style=''font-weight: bold; width: 20%;''><span style=''font-size: 12pt;''>TOUR</span></td>
@@ -213,7 +237,7 @@
<td style=''width: 20%;''><span style=''font-size: 12pt;''>[tour]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>DÉPARTEMENT</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;departement</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[departement]</span></td>
</tr>
<tr>
<td style=''font-weight: bold; width: 20%;''><span style=''font-size: 12pt;''>DATE</span></td>
@@ -220,7 +244,7 @@
<td style=''width: 20%;''><span style=''font-size: 12pt;''>[date]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>COMMUNE</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;commune</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[commune]</span></td>
</tr>
</tbody>
</table>
@@ -311,7 +335,7 @@
<td style=''width: 20%;''><br /><span style=''font-size: 12pt;''> [election_libelle]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>CIRCONSCRIPTION</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;circonscription</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_circonscription]</span></td>
</tr>
<tr>
<td style=''font-weight: bold; width: 20%;''><span style=''font-size: 12pt;''>TOUR</span></td>
@@ -318,7 +342,7 @@
<td style=''width: 20%;''><span style=''font-size: 12pt;''>[tour]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>DÉPARTEMENT</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;departement</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_departement]</span></td>
</tr>
<tr>
<td style=''font-weight: bold; width: 20%;''><span style=''font-size: 12pt;''>DATE</span></td>
@@ -325,12 +349,12 @@
<td style=''width: 20%;''><span style=''font-size: 12pt;''>[date]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>COMMUNE</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;commune</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_commune]</span></td>
</tr>
</tbody>
</table>
<p style=''text-align: center;''> </p>
-<p style=''text-align: center;''><span style=''font-size: 12pt; font-weight: bold;''>PÉRIMÈTRE : [code_unite] - [libelle_unite]</span></p>
+<p style=''text-align: center;''><span style=''font-size: 12pt; font-weight: bold;''>PÉRIMÈTRE : [unite.label] </span></p>
<p> </p>
<table border=''0'' style=''width: 100%;'' cellspacing=''0'' cellpadding=''2''>
<tbody>
@@ -393,7 +417,7 @@
<td style=''width: 20%;''><br /><span style=''font-size: 12pt;''> [election_libelle]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>CIRCONSCRIPTION</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;circonscription</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_circonscription]</span></td>
</tr>
<tr>
<td style=''font-weight: bold; width: 20%;''><span style=''font-size: 12pt;''>TOUR</span></td>
@@ -400,7 +424,7 @@
<td style=''width: 20%;''><span style=''font-size: 12pt;''>[tour]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>DÉPARTEMENT</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;departement</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_departement]</span></td>
</tr>
<tr>
<td style=''font-weight: bold; width: 20%;''><span style=''font-size: 12pt;''>DATE</span></td>
@@ -407,13 +431,13 @@
<td style=''width: 20%;''><span style=''font-size: 12pt;''>[date]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>COMMUNE</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;commune</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_commune]</span></td>
</tr>
</tbody>
</table>
<p style=''text-align: center;''> </p>
<p style=''text-align: center;''><span style=''font-size: 12pt; font-weight: bold;''> CANTON : [code_canton] - [libelle_canton]</span></p>
-<p style=''text-align: center;''><span style=''font-weight: bold;''> BUREAU : [code_unite] - [libelle_unite]</span></p>
+<p style=''text-align: center;''><span style=''font-weight: bold;''> BUREAU : [unite.label]</span></p>
<p> </p>
<table border=''0'' style=''width: 100%;'' cellspacing=''0'' cellpadding=''2''>
<tbody>
@@ -476,7 +500,7 @@
<td style=''width: 20%;''><br /><span style=''font-size: 12pt;''> [libelle]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>CIRCONSCRIPTION</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;circonscription</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_circonscription]</span></td>
</tr>
<tr>
<td style=''font-weight: bold; width: 20%;''><span style=''font-size: 12pt;''>TOUR</span></td>
@@ -483,7 +507,7 @@
<td style=''width: 20%;''><span style=''font-size: 12pt;''>[tour]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>DÉPARTEMENT</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;departement</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_departement]</span></td>
</tr>
<tr>
<td style=''font-weight: bold; width: 20%;''><span style=''font-size: 12pt;''>DATE</span></td>
@@ -490,7 +514,7 @@
<td style=''width: 20%;''><span style=''font-size: 12pt;''>[date]</span></td>
<td style=''font-weight: bold; width: 20%;''> </td>
<td style=''font-weight: bold; width: 25%;''><span style=''font-weight: bold; font-size: 12pt;''>COMMUNE</span></td>
-<td style=''width: 15%;''><span style=''font-size: 12pt;''>&amp;commune</span></td>
+<td style=''width: 15%;''><span style=''font-size: 12pt;''>[code_commune]</span></td>
</tr>
</tbody>
</table>

Modified: branches/2.0.0-develop-import/tests/doc/app.html
===================================================================
--- branches/2.0.0-develop-import/tests/doc/app.html 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/doc/app.html 2021-05-05 14:03:29 UTC (rev 1048)
@@ -546,7 +546,7 @@
jQuery.extend({highlight:function(e,t,n,r){if(e.nodeType===3){var i=e.data.match(t);if(i){var s=document.createElement(n||"span");s.className=r||"highlight";var o=e.splitText(i.index);o.splitText(i[0].length);var u=o.cloneNode(true);s.appendChild(u);o.parentNode.replaceChild(s,o);return 1}}else if(e.nodeType===1&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&!(e.tagName===n.toUpperCase()&&e.className===r)){for(var a=0;a<e.childNodes.length;a++){a+=jQuery.highlight(e.childNodes[a],t,n,r)}}return 0}});jQuery.fn.unhighlight=function(e){var t={className:"highlight",element:"span"};jQuery.extend(t,e);return this.find(t.element+"."+t.className).each(function(){var e=this.parentNode;e.replaceChild(this.firstChild,this);e.normalize()}).end()};jQuery.fn.highlight=function(e,t){var n={className:"highlight",element:"span",caseSensitive:false,wordsOnly:false};jQuery.extend(n,t);if(e.constructor===String){e=[e]}e=jQuery.grep(e,function(e,t){return e!=""});e=jQuery.map(e,function(e,t){return
e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")});if(e.length==0){return this}var r=n.caseSensitive?"":"i";var i="("+e.join("|")+")";if(n.wordsOnly){i="\\b"+i+"\\b"}var s=new RegExp(i,r);return this.each(function(){jQuery.highlight(this,s,n.element,n.className)})}
</script>
<script type="text/javascript">
-libdoc = {"all_tags":["application","module_import"],"contains_tags":true,"doc":"<p>Mots-clefs openresultat rédigés en Robot Framework et employables dans les tests fonctionnels. Cette documentation est générée par l'outil 'Libdoc' à partir des ressources du répertoire tests/resources/app.\x3c/p>","generated":"2021-04-28 12:16:49","inits":[],"keywords":[{"args":["onglet","contenu"],"doc":"<p>Clique sur l'onglet ayant l'id voulu et attend que le contenu s'affiche\x3c/p>","matched":true,"name":"Accéder à l'onglet de la page web","shortdoc":"Clique sur l'onglet ayant l'id voulu et attend que le contenu s'affiche","tags":[]},{"args":["animation"],"doc":"<p>Utilise l'action d'activation de l'animation\x3c/p>","matched":true,"name":"Activer animation","shortdoc":"Utilise l'action d'activation de l'animation","tags":[]},{"args":["web"],"doc":"<p>Rend actif le modèle web\x3c/p>","matched":true,"name":"Activer modèle web","shortdoc":"Rend actif le modèle web","tags":[]},{"args":[
"values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter animation","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter animation à l'élection","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter candidat","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter canton","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter centaine à l'élection","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter circonscription","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>"
,"matched":true,"name":"Ajouter commune","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter delegation","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["liste_acteur","liste_unite","election"],"doc":"<p>Crée plusieurs enregistrement de délégation\x3c/p>","matched":true,"name":"Ajouter delegation multiple","shortdoc":"Crée plusieurs enregistrement de délégation","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter departement","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter election","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter election_candidat","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregi
strement\x3c/p>","matched":true,"name":"Ajouter election_resultat","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter election_unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["lib_unite_parent","lib_unite_enfant"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter lien_unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter participation_election","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter plan","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter plan_election","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name
":"Ajouter plan_unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter tranche","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter type_election","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter type_unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter web","shortdoc":"Crée l'enregistrement","tags":[]},{"args":[],"doc":"","matched":true,"name":"Click On Add Button In SubForm","shortdoc":"","tags":["application"]},{"args":[],"doc":"","matched":true,"name":"Click On Back Button In Import CS
V","shortdoc":"","tags":["application","module_import"]},{"args":["texte"],"doc":"<p>Clic sur un bouton de la fenêtre modale d'après son texte\x3c/p>","matched":true,"name":"Cliquer sur le bouton de la fenêtre modale","shortdoc":"Clic sur un bouton de la fenêtre modale d'après son texte","tags":[]},{"args":["link"],"doc":"","matched":true,"name":"Contenu CSV","shortdoc":"","tags":[]},{"args":["id_candidat"],"doc":"<p>Utilise l'action de création des résultats d'un candidat.\x3c/p>","matched":true,"name":"Créer les résultats du candidats","shortdoc":"Utilise l'action de création des résultats d'un candidat.","tags":[]},{"args":[],"doc":"<p>Utilise l'action de demande de validation\x3c/p>","matched":true,"name":"Demander la validation des résultats","shortdoc":"Utilise l'action de demande de validation","tags":[]},{"args":["animation"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte animation","shortdoc":"Accède au formulaire","tags":[]},
{"args":["election","animation"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte animation de l'election","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","animation"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte animation de l'election archivée","shortdoc":"Accède au formulaire","tags":[]},{"args":["candidat"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte candidat","shortdoc":"Accède au formulaire","tags":[]},{"args":["canton"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte canton","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","centaine"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte centaine","shortdoc":"Accède au formulaire","tags":[]},{"args":["circonscription"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte circonscription","sho
rtdoc":"Accède au formulaire","tags":[]},{"args":["commune"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte commune","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","participation_unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte de la participation par unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["delegation","election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte delegation","shortdoc":"Accède au formulaire","tags":[]},{"args":["departement"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte departement","shortdoc":"Accède au formulaire","tags":[]},{"args":["election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election","shortdoc":"Accède au formulaire","tags":[]},{"args":["election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le cont
exte election archivée","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","election_candidat"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée candidat","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","centaine"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée centaine","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","participation_election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée participation","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","lib_plan"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée plan","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","election_unite_lib"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée uni
té","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","election_candidat"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election_candidat","shortdoc":"Accède au formulaire","tags":[]},{"args":["election_resultat"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election_resultat","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","election_unite_lib"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election_unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["lien_unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte lien_unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","participation_election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte participation_election","shortdoc":"Accède au formulaire","tags":[]},{"args":["plan"],"doc":"<p>Accède
au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte plan","shortdoc":"Accède au formulaire","tags":[]},{"args":["lib_plan","election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte plan_election","shortdoc":"Accède au formulaire","tags":[]},{"args":["plan_unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte plan_unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["tranche"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte tranche","shortdoc":"Accède au formulaire","tags":[]},{"args":["type_election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte type_election","shortdoc":"Accède au formulaire","tags":[]},{"args":["type_unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte type_unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["unite"],"doc":"<p>Accède au formulaire\x3c
/p>","matched":true,"name":"Depuis le contexte unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["web"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte web","shortdoc":"Accède au formulaire","tags":[]},{"args":["election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le listing centaine","shortdoc":"Accède au formulaire","tags":[]},{"args":["election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le listing election_candidat","shortdoc":"Accède au formulaire","tags":[]},{"args":["animation"],"doc":"<p>Utilise l'action de désactivation de l'animation\x3c/p>","matched":true,"name":"Désactiver animation","shortdoc":"Utilise l'action de désactivation de l'animation","tags":[]},{"args":["field"],"doc":"<p>Supprime un fichier en cliquant sur l'icone de suppression\x3c/p>","matched":true,"name":"Déselectionner le fichier","shortdoc":"Supprime un fichier en cliquant sur l'icone de suppress
ion","tags":[]},{"args":["election","participation_unite"],"doc":"<p>Utilise l'action d'envoi de la participation à la page web\x3c/p>","matched":true,"name":"Envoyer la participation de l'unité à l'affichage","shortdoc":"Utilise l'action d'envoi de la participation à la page web","tags":[]},{"args":["election","participation_unite"],"doc":"<p>Utilise l'action d'envoi de la participation à la page web\x3c/p>","matched":true,"name":"Envoyer la participation de l'unité à la page web","shortdoc":"Utilise l'action d'envoi de la participation à la page web","tags":[]},{"args":["election","tranche_horaire"],"doc":"<p>Utilise l'action d'envoi de la participation à la page web\x3c/p>","matched":true,"name":"Envoyer la participation à l'affichage","shortdoc":"Utilise l'action d'envoi de la participation à la page web","tags":[]},{"args":["election","tranche_horaire"],"doc":"<p>Utilise l'action d'envoi de la participation à la page web\x3c/p>","matched":true,"name":"Envoyer la par
ticipation à la page web","shortdoc":"Utilise l'action d'envoi de la participation à la page web","tags":[]},{"args":["lib_plan","election"],"doc":"<p>Utilise l'action \"envoi plan\" servant à envoyer les informations relatives au plan à la page web\x3c/p>","matched":true,"name":"Envoyer le plan à la page web","shortdoc":"Utilise l'action \"envoi plan\" servant à envoyer les informations","tags":[]},{"args":["centaine","election","unite"],"doc":"<p>Utilise l'action d'envoi au portail web pour les résultats d'une centaine\x3c/p>","matched":true,"name":"Envoyer les résultats de la centaine au portail web","shortdoc":"Utilise l'action d'envoi au portail web pour les résultats d'une centaine","tags":[]},{"args":["centaine","election","unite"],"doc":"<p>Utilise l'action d'envoi à l'affichage pour les résultats d'une centaine\x3c/p>","matched":true,"name":"Envoyer les résultats de la centaine à l'affichage","shortdoc":"Utilise l'action d'envoi à l'affichage pour les résulta
ts d'une centaine","tags":[]},{"args":["election","election_unite_lib"],"doc":"<p>Utilise l'action d'envoi des résultats à l'affichage\x3c/p>","matched":true,"name":"Envoyer les résultats à l'affichage","shortdoc":"Utilise l'action d'envoi des résultats à l'affichage","tags":[]},{"args":["election","election_unite_lib"],"doc":"<p>Utilise l'action d'envoi des résultats à la page web\x3c/p>","matched":true,"name":"Envoyer les résultats à la page web","shortdoc":"Utilise l'action d'envoi des résultats à la page web","tags":[]},{"args":[],"doc":"<p>Clique sur le bouton de fermer de la fenêtre\x3c/p>","matched":true,"name":"Fermer la fenêtre de prévisualisation","shortdoc":"Clique sur le bouton de fermer de la fenêtre","tags":[]},{"args":["objet"],"doc":"<p>Vérifie que l'icone permettant d'ajouter des elements dans un sous tableau est présente\x3c/p>","matched":true,"name":"L'icone d'ajout doit être présente dans le sous tableau","shortdoc":"Vérifie que l'icone perme
ttant d'ajouter des elements","tags":[]},{"args":["objet"],"doc":"<p>Vérifie que l'icone permettant d'ajouter des elements dans un sous tableau n'est pas présente\x3c/p>","matched":true,"name":"L'icone d'ajout ne doit pas être présente dans le sous tableau","shortdoc":"Vérifie que l'icone permettant d'ajouter des elements","tags":[]},{"args":["values","id_elire"],"doc":"<p>Vérifie si l'unité existe et si ses valeurs sont bien celles attendues\x3c/p>","matched":true,"name":"L'unite a été correctement importée","shortdoc":"Vérifie si l'unité existe et si ses valeurs sont bien celles","tags":[]},{"args":["window","strings_to_find","page_number=1","from_system=False"],"doc":"<p>Change de fenêtre, fait les verifs, et ferme la fenêtre. Il faut donc avoir déclenché l'ouverture de la fenêtre avant. L'argument window est {name, title, url} de la fenêtre sans le suffixe '.php'\x3c/p>","matched":true,"name":"La page du fichier PDF doit contenir les chaînes de caractères","s
hortdoc":"Change de fenêtre, fait les verifs, et ferme la fenêtre.","tags":["application"]},{"args":[],"doc":"<p>Vérifie que les champs de la liste correspondent a des champs du type voulu dans le formulaire\x3c/p>","matched":true,"name":"Le champ ${champ} doit être ${type}","shortdoc":"Vérifie que les champs de la liste correspondent","tags":[]},{"args":["objet","actions"],"doc":"<p>Vérifie que le portlet d'un formulaire contiens la liste des actions recherchées\x3c/p>","matched":true,"name":"Le portlet du formulaire doit contenir","shortdoc":"Vérifie que le portlet d'un formulaire contiens la liste des actions","tags":[]},{"args":["objet","actions"],"doc":"<p>Vérifie que le portlet d'un formulaire ne contiens aucunes des actions recherchées\x3c/p>","matched":true,"name":"Le portlet du formulaire ne doit pas contenir","shortdoc":"Vérifie que le portlet d'un formulaire ne contiens aucunes des actions","tags":[]},{"args":["objet","actions"],"doc":"<p>Vérifie que le portle
t d'un sous-formulaire contiens la liste des actions recherchées\x3c/p>","matched":true,"name":"Le portlet du sous formulaire doit contenir","shortdoc":"Vérifie que le portlet d'un sous-formulaire contiens la liste des","tags":[]},{"args":["objet","actions"],"doc":"<p>Vérifie que le portlet d'un sous-formulaire ne contiens aucunes des actions recherchées\x3c/p>","matched":true,"name":"Le portlet du sous formulaire ne doit pas contenir","shortdoc":"Vérifie que le portlet d'un sous-formulaire ne contiens aucunes des","tags":[]},{"args":["elements_à_trouver"],"doc":"<p>Vérifie que le tableau du listing contiens bien tous les éléments recherchés\x3c/p>","matched":true,"name":"Le tableau doit contenir les éléments","shortdoc":"Vérifie que le tableau du listing contiens bien tous les","tags":["application"]},{"args":["elements_à_chercher"],"doc":"<p>Vérifie que le tableau du listing ne contiens aucun des éléments recherchés\x3c/p>","matched":true,"name":"Le tableau ne do
it pas contenir les éléments","shortdoc":"Vérifie que le tableau du listing ne contiens aucun des","tags":["application"]},{"args":["values","animation"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier animation","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["values","election","animation"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier animation de l'élection","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["candidat","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier candidat","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["canton","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier canton","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election","centaine","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier centaine de l'élection","shortdoc":"Modifie l'enregistrement","tags":[]}
,{"args":["circonscription","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier circonscription","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["commune","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier commune","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["delegation","election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier delegation","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["departement","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier departement","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier election","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election","election_candidat","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier election_candidat"
,"shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election_resultat","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier election_resultat","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election_unite","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier election_unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["participation_unite","values","election"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier la participation par unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["lien_unite","lib_unite_parent","lib_unite_enfant"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier lien_unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["participation_election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier participation_election","shortdoc":"Modifie l'enregistrement","tags":
[]},{"args":["plan","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier plan","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["lib_plan","election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier plan_election","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["plan_unite","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier plan_unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["tranche","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier tranche","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["type_election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier type_election","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["type_unite","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier type_unite","shortdoc":"Modifie l'enregistreme
nt","tags":[]},{"args":["unite","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["web","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier web","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":[],"doc":"<p>Clique sur le bouton de prévisualisation pour afficher la fenêtre\x3c/p>","matched":true,"name":"Ouvrir la fenêtre de prévisualisation","shortdoc":"Clique sur le bouton de prévisualisation pour afficher la fenêtre","tags":[]},{"args":["nom_etape"],"doc":"<p>Utilise l'action de passage à l'étape suivante du workflow\x3c/p>","matched":true,"name":"Passer à l'étape suivante","shortdoc":"Utilise l'action de passage à l'étape suivante du workflow","tags":[]},{"args":[],"doc":"<p>Utilise l'action de reprise de la saisie\x3c/p>","matched":true,"name":"Reprendre la saisie des résultats","shortdoc":"Utilise l'action de reprise de la sais
ie","tags":[]},{"args":["nom_etape"],"doc":"<p>Utilise l'action de retour à l'étape précédente du workflow\x3c/p>","matched":true,"name":"Retourner à l'étape précédente","shortdoc":"Utilise l'action de retour à l'étape précédente du workflow","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir animation","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir animation de l'élection","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir candidat","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir canton","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir centaine","shortdoc":"Remplit le formulaire","t
ags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir circonscription","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir commune","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir delegation","shortdoc":"Remplit le formulaire","tags":[]},{"args":["liste_acteur","liste_unite"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir delegation multiple","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir departement","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir election","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"n
ame":"Saisir election_candidat","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir election_resultat","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir election_unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir la participation par unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["lib_unite_parent","lib_unite_enfant"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir lien_unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir participation_election","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir plan","shortdoc":"Remplit l
e formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir plan_election","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir plan_unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir tranche","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir type_election","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir type_unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir web
","shortdoc":"Remplit le formulaire","tags":[]},{"args":[],"doc":"<p>Si un fichier est choisi alors ce fichier est télécharger. Sinon si le champ est vide clique sur l'icone de suppression pour s'assurer qu'aucun fichier n'est sélectionné\x3c/p>","matched":true,"name":"Selectionner un fichier si ${key} existe et n'est pas vide dans ${collection} sinon deselectionner","shortdoc":"Si un fichier est choisi alors ce fichier est télécharger. Sinon","tags":[]},{"args":["animation"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer animation","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election","animation"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer animation de l'élection","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["candidat"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer candidat","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["canton"],"doc":"<p
>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer canton","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election","centaine"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer centaine de l'élection","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["circonscription"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer circonscription","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["commune"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer commune","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["delegation","election"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer delegation","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["departement"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer departement","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election"],"
doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer election","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election","election_candidat"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer election_candidat","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election_resultat"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer election_resultat","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election_unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer election_unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["lien_unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer lien_unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["participation_election"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer participation_election","shortdoc":"Supprime l'enregis
trement","tags":[]},{"args":["plan"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer plan","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["lib_plan","election"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer plan_election","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["plan_unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer plan_unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["tranche"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer tranche","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["type_election"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer type_election","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["type_unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer type_unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"arg
s":["unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["web"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer web","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":[],"doc":"<p>Utilise l'action de validation des résultats\x3c/p>","matched":true,"name":"Valider la saisie des résultats","shortdoc":"Utilise l'action de validation des résultats","tags":[]},{"args":["coordonnees_x","coordonnees_y","plan","icone"],"doc":"<p>Vérifie la position de l'icone de coordonnées (x, y) sur le plan\x3c/p>","matched":true,"name":"Verifier la position de l'icone","shortdoc":"Vérifie la position de l'icone de coordonnées (x, y) sur le plan","tags":[]},{"args":["values"],"doc":"<p>Vérifie à partir de la fenêtre de consultation si les valeurs des champs correspondent aux valeurs attendues\x3c/p>","matched":true,"name":"Vérifier les valeurs des champs","shor
tdoc":"Vérifie à partir de la fenêtre de consultation si les valeurs","tags":[]}],"name":"openresultat","named_args":true,"scope":"","version":""};
+libdoc = {"all_tags":["application","candidat","canton","circonscription","commune","departement","lien_unite","module_import","plan","tranche","type_election","type_unite","unite"],"contains_tags":true,"doc":"<p>Mots-clefs openresultat rédigés en Robot Framework et employables dans les tests fonctionnels. Cette documentation est générée par l'outil 'Libdoc' à partir des ressources du répertoire tests/resources/app.\x3c/p>","generated":"2021-05-01 13:51:59","inits":[],"keywords":[{"args":["onglet","contenu"],"doc":"<p>Clique sur l'onglet ayant l'id voulu et attend que le contenu s'affiche\x3c/p>","matched":true,"name":"Accéder à l'onglet de la page web","shortdoc":"Clique sur l'onglet ayant l'id voulu et attend que le contenu s'affiche","tags":[]},{"args":["animation"],"doc":"<p>Utilise l'action d'activation de l'animation\x3c/p>","matched":true,"name":"Activer animation","shortdoc":"Utilise l'action d'activation de l'animation","tags":[]},{"args":["web"],"doc":"<p>Rend act
if le modèle web\x3c/p>","matched":true,"name":"Activer modèle web","shortdoc":"Rend actif le modèle web","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter animation","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter animation à l'élection","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter candidat","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter canton","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter centaine à l'élection","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Aj
outer circonscription","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter commune","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter delegation","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["liste_acteur","liste_unite","election"],"doc":"<p>Crée plusieurs enregistrement de délégation\x3c/p>","matched":true,"name":"Ajouter delegation multiple","shortdoc":"Crée plusieurs enregistrement de délégation","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter departement","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter election","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":t
rue,"name":"Ajouter election_candidat","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter election_resultat","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter election_unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["lib_unite_parent","lib_unite_enfant"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter lien_unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["lib_unite_parent","liste_lib_unite_enfant"],"doc":"<p>Crée plusieurs enregistrement de lien_unite\x3c/p>","matched":true,"name":"Ajouter lien_unite multiple","shortdoc":"Crée plusieurs enregistrement de lien_unite","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter participation_election","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"d
oc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter plan","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values","election"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter plan_election","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter plan_unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter tranche","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter type_election","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter type_unite","shortdoc":"Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter unite","shortdoc":"
Crée l'enregistrement","tags":[]},{"args":["values"],"doc":"<p>Crée l'enregistrement\x3c/p>","matched":true,"name":"Ajouter web","shortdoc":"Crée l'enregistrement","tags":[]},{"args":[],"doc":"","matched":true,"name":"Click On Add Button In SubForm","shortdoc":"","tags":["application"]},{"args":[],"doc":"","matched":true,"name":"Click On Back Button In Import CSV","shortdoc":"","tags":["application","module_import"]},{"args":["texte"],"doc":"<p>Clic sur un bouton de la fenêtre modale d'après son texte\x3c/p>","matched":true,"name":"Cliquer sur le bouton de la fenêtre modale","shortdoc":"Clic sur un bouton de la fenêtre modale d'après son texte","tags":[]},{"args":["link"],"doc":"","matched":true,"name":"Contenu CSV","shortdoc":"","tags":[]},{"args":["id_candidat"],"doc":"<p>Utilise l'action de création des résultats d'un candidat.\x3c/p>","matched":true,"name":"Créer les résultats du candidats","shortdoc":"Utilise l'action de création des résultats d'un candidat.","tag
s":[]},{"args":[],"doc":"<p>Utilise l'action de demande de validation\x3c/p>","matched":true,"name":"Demander la validation des résultats","shortdoc":"Utilise l'action de demande de validation","tags":[]},{"args":[],"doc":"","matched":true,"name":"Depuis l'écran 'Administration & Paramétrage'","shortdoc":"","tags":[]},{"args":["animation"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte animation","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","animation"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte animation de l'election","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","animation"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte animation de l'election archivée","shortdoc":"Accède au formulaire","tags":[]},{"args":["candidat"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte candidat","shortdoc":"Accèd
e au formulaire","tags":[]},{"args":["canton"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte canton","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","centaine"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte centaine","shortdoc":"Accède au formulaire","tags":[]},{"args":["circonscription"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte circonscription","shortdoc":"Accède au formulaire","tags":[]},{"args":["commune"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte commune","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","participation_unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte de la participation par unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["delegation","election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le conte
xte delegation","shortdoc":"Accède au formulaire","tags":[]},{"args":["departement"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte departement","shortdoc":"Accède au formulaire","tags":[]},{"args":["election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election","shortdoc":"Accède au formulaire","tags":[]},{"args":["election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","election_candidat"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée candidat","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","centaine"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée centaine","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","participation_election"],"doc":"<p
>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée participation","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","lib_plan"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée plan","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","election_unite_lib"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election archivée unité","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","election_candidat"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election_candidat","shortdoc":"Accède au formulaire","tags":[]},{"args":["election_resultat"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte election_resultat","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","election_unite_lib"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,
"name":"Depuis le contexte election_unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["lien_unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte lien_unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["election","participation_election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte participation_election","shortdoc":"Accède au formulaire","tags":[]},{"args":["plan"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte plan","shortdoc":"Accède au formulaire","tags":[]},{"args":["lib_plan","election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte plan_election","shortdoc":"Accède au formulaire","tags":[]},{"args":["plan_unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte plan_unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["tranche"],"doc":"<p>Accède au formulaire\x3c/p>
","matched":true,"name":"Depuis le contexte tranche","shortdoc":"Accède au formulaire","tags":[]},{"args":["type_election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte type_election","shortdoc":"Accède au formulaire","tags":[]},{"args":["type_unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte type_unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["unite"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte unite","shortdoc":"Accède au formulaire","tags":[]},{"args":["web"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le contexte web","shortdoc":"Accède au formulaire","tags":[]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'candidat'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'un candidat","shortdoc":"Accède directement via URL au formulaire d'ajout d'un enregistrem
ent de type 'candidat'.","tags":["candidat"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'canton'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'un canton","shortdoc":"Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'canton'.","tags":["canton"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'departement'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'un département","shortdoc":"Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'departement'.","tags":["departement"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'lien_unite'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'un lien entre unités","shortdoc":"Accède directement via URL au formulaire d'ajout d'un","tags":["lien_unite"]},{"args":[],"doc":"<p>Accède directem
ent via URL au formulaire d'ajout d'un enregistrement de type 'plan'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'un plan","shortdoc":"Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'plan'.","tags":["plan"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'type_unite'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'un type d'unité","shortdoc":"Accède directement via URL au formulaire d'ajout d'un","tags":["type_unite"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'type_election'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'un type d'élection","shortdoc":"Accède directement via URL au formulaire d'ajout d'un","tags":["type_election"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'circonscription'.\x3c/p>","matched":true,"name":"Depuis le form
ulaire d'ajout d'une circonscription","shortdoc":"Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'circonscription'.","tags":["circonscription"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'commune'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'une commune","shortdoc":"Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'commune'.","tags":["commune"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'tranche'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'une tranche","shortdoc":"Accède directement via URL au formulaire d'ajout d'un","tags":["tranche"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'unite'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'ajout d'une unité","shortdoc":"Accède directement via URL au formulaire d'ajo
ut d'un enregistrement de type 'unite'.","tags":["unite"]},{"args":[],"doc":"<p>Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'unite'.\x3c/p>","matched":true,"name":"Depuis le formulaire d'import des unités","shortdoc":"Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'unite'.","tags":["unite"]},{"args":["election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le listing centaine","shortdoc":"Accède au formulaire","tags":[]},{"args":[],"doc":"<p>Accède au listing des enregistrements de type 'candidat'.\x3c/p>","matched":true,"name":"Depuis le listing des candidats","shortdoc":"Accède au listing des enregistrements de type 'candidat'.","tags":["candidat"]},{"args":[],"doc":"<p>Accède au listing des enregistrements de type 'canton'.\x3c/p>","matched":true,"name":"Depuis le listing des cantons","shortdoc":"Accède au listing des enregistrements de type 'canton'.","tags":["canton"]},{"args":[],"do
c":"<p>Accède au listing des enregistrements de type 'circonscription'.\x3c/p>","matched":true,"name":"Depuis le listing des circonscriptions","shortdoc":"Accède au listing des enregistrements de type 'circonscription'.","tags":["circonscription"]},{"args":[],"doc":"<p>Accède au listing des enregistrements de type 'commune'.\x3c/p>","matched":true,"name":"Depuis le listing des communes","shortdoc":"Accède au listing des enregistrements de type 'commune'.","tags":["commune"]},{"args":[],"doc":"<p>Accède au listing des enregistrements de type 'departement'.\x3c/p>","matched":true,"name":"Depuis le listing des départements","shortdoc":"Accède au listing des enregistrements de type 'departement'.","tags":["departement"]},{"args":[],"doc":"<p>Accède au listing des enregistrements de type 'lien_unite'.\x3c/p>","matched":true,"name":"Depuis le listing des liens entre unités","shortdoc":"Accède au listing des enregistrements de type 'lien_unite'.","tags":["lien_unite"]},{"args":[]
,"doc":"<p>Accède au listing des enregistrements de type 'plan'.\x3c/p>","matched":true,"name":"Depuis le listing des plans","shortdoc":"Accède au listing des enregistrements de type 'plan'.","tags":["plan"]},{"args":[],"doc":"<p>Accède au listing des enregistrements de type 'tranche'.\x3c/p>","matched":true,"name":"Depuis le listing des tranches","shortdoc":"Accède au listing des enregistrements de type 'tranche'.","tags":["tranche"]},{"args":[],"doc":"<p>Accède au listing des enregistrements de type 'type_unite'.\x3c/p>","matched":true,"name":"Depuis le listing des types d'unité","shortdoc":"Accède au listing des enregistrements de type 'type_unite'.","tags":["type_unite"]},{"args":[],"doc":"<p>Accède au listing des enregistrements de type 'type_election'.\x3c/p>","matched":true,"name":"Depuis le listing des types d'élection","shortdoc":"Accède au listing des enregistrements de type 'type_election'.","tags":["type_election"]},{"args":[],"doc":"<p>Accède au listing des e
nregistrements de type 'unite'.\x3c/p>","matched":true,"name":"Depuis le listing des unités","shortdoc":"Accède au listing des enregistrements de type 'unite'.","tags":["unite"]},{"args":["election"],"doc":"<p>Accède au formulaire\x3c/p>","matched":true,"name":"Depuis le listing election_candidat","shortdoc":"Accède au formulaire","tags":[]},{"args":["animation"],"doc":"<p>Utilise l'action de désactivation de l'animation\x3c/p>","matched":true,"name":"Désactiver animation","shortdoc":"Utilise l'action de désactivation de l'animation","tags":[]},{"args":["field"],"doc":"<p>Supprime un fichier en cliquant sur l'icone de suppression\x3c/p>","matched":true,"name":"Déselectionner le fichier","shortdoc":"Supprime un fichier en cliquant sur l'icone de suppression","tags":[]},{"args":["election","participation_unite"],"doc":"<p>Utilise l'action d'envoi de la participation à la page web\x3c/p>","matched":true,"name":"Envoyer la participation de l'unité à l'affichage","shortdoc":"U
tilise l'action d'envoi de la participation à la page web","tags":[]},{"args":["election","participation_unite"],"doc":"<p>Utilise l'action d'envoi de la participation à la page web\x3c/p>","matched":true,"name":"Envoyer la participation de l'unité à la page web","shortdoc":"Utilise l'action d'envoi de la participation à la page web","tags":[]},{"args":["election","tranche_horaire"],"doc":"<p>Utilise l'action d'envoi de la participation à la page web\x3c/p>","matched":true,"name":"Envoyer la participation à l'affichage","shortdoc":"Utilise l'action d'envoi de la participation à la page web","tags":[]},{"args":["election","tranche_horaire"],"doc":"<p>Utilise l'action d'envoi de la participation à la page web\x3c/p>","matched":true,"name":"Envoyer la participation à la page web","shortdoc":"Utilise l'action d'envoi de la participation à la page web","tags":[]},{"args":["lib_plan","election"],"doc":"<p>Utilise l'action \"envoi plan\" servant à envoyer les informations relat
ives au plan à la page web\x3c/p>","matched":true,"name":"Envoyer le plan à la page web","shortdoc":"Utilise l'action \"envoi plan\" servant à envoyer les informations","tags":[]},{"args":["centaine","election","unite"],"doc":"<p>Utilise l'action d'envoi au portail web pour les résultats d'une centaine\x3c/p>","matched":true,"name":"Envoyer les résultats de la centaine au portail web","shortdoc":"Utilise l'action d'envoi au portail web pour les résultats d'une centaine","tags":[]},{"args":["centaine","election","unite"],"doc":"<p>Utilise l'action d'envoi à l'affichage pour les résultats d'une centaine\x3c/p>","matched":true,"name":"Envoyer les résultats de la centaine à l'affichage","shortdoc":"Utilise l'action d'envoi à l'affichage pour les résultats d'une centaine","tags":[]},{"args":["election","election_unite_lib"],"doc":"<p>Utilise l'action d'envoi des résultats à l'affichage\x3c/p>","matched":true,"name":"Envoyer les résultats à l'affichage","shortdoc":"Utilise
l'action d'envoi des résultats à l'affichage","tags":[]},{"args":["election","election_unite_lib"],"doc":"<p>Utilise l'action d'envoi des résultats à la page web\x3c/p>","matched":true,"name":"Envoyer les résultats à la page web","shortdoc":"Utilise l'action d'envoi des résultats à la page web","tags":[]},{"args":[],"doc":"<p>Clique sur le bouton de fermer de la fenêtre\x3c/p>","matched":true,"name":"Fermer la fenêtre de prévisualisation","shortdoc":"Clique sur le bouton de fermer de la fenêtre","tags":[]},{"args":["objet"],"doc":"<p>Vérifie que l'icone permettant d'ajouter des elements dans un sous tableau est présente\x3c/p>","matched":true,"name":"L'icone d'ajout doit être présente dans le sous tableau","shortdoc":"Vérifie que l'icone permettant d'ajouter des elements","tags":[]},{"args":["objet"],"doc":"<p>Vérifie que l'icone permettant d'ajouter des elements dans un sous tableau n'est pas présente\x3c/p>","matched":true,"name":"L'icone d'ajout ne doit pas ê
tre présente dans le sous tableau","shortdoc":"Vérifie que l'icone permettant d'ajouter des elements","tags":[]},{"args":["values","id_reu"],"doc":"<p>Vérifie si l'unité existe et si ses valeurs sont bien celles attendues\x3c/p>","matched":true,"name":"L'unite a été correctement importée","shortdoc":"Vérifie si l'unité existe et si ses valeurs sont bien celles","tags":[]},{"args":["window","strings_to_find","page_number=1","from_system=False"],"doc":"<p>Change de fenêtre, fait les verifs, et ferme la fenêtre. Il faut donc avoir déclenché l'ouverture de la fenêtre avant. L'argument window est {name, title, url} de la fenêtre sans le suffixe '.php'\x3c/p>","matched":true,"name":"La page du fichier PDF doit contenir les chaînes de caractères","shortdoc":"Change de fenêtre, fait les verifs, et ferme la fenêtre.","tags":["application"]},{"args":[],"doc":"<p>Vérifie que les champs de la liste correspondent a des champs du type voulu dans le formulaire\x3c/p>","matched"
:true,"name":"Le champ ${champ} doit être ${type}","shortdoc":"Vérifie que les champs de la liste correspondent","tags":[]},{"args":["objet","actions"],"doc":"<p>Vérifie que le portlet d'un formulaire contiens la liste des actions recherchées\x3c/p>","matched":true,"name":"Le portlet du formulaire doit contenir","shortdoc":"Vérifie que le portlet d'un formulaire contiens la liste des actions","tags":[]},{"args":["objet","actions"],"doc":"<p>Vérifie que le portlet d'un formulaire ne contiens aucunes des actions recherchées\x3c/p>","matched":true,"name":"Le portlet du formulaire ne doit pas contenir","shortdoc":"Vérifie que le portlet d'un formulaire ne contiens aucunes des actions","tags":[]},{"args":["objet","actions"],"doc":"<p>Vérifie que le portlet d'un sous-formulaire contiens la liste des actions recherchées\x3c/p>","matched":true,"name":"Le portlet du sous formulaire doit contenir","shortdoc":"Vérifie que le portlet d'un sous-formulaire contiens la liste des","tags"
:[]},{"args":["objet","actions"],"doc":"<p>Vérifie que le portlet d'un sous-formulaire ne contiens aucunes des actions recherchées\x3c/p>","matched":true,"name":"Le portlet du sous formulaire ne doit pas contenir","shortdoc":"Vérifie que le portlet d'un sous-formulaire ne contiens aucunes des","tags":[]},{"args":["elements_à_trouver"],"doc":"<p>Vérifie que le tableau du listing contiens bien tous les éléments recherchés\x3c/p>","matched":true,"name":"Le tableau doit contenir les éléments","shortdoc":"Vérifie que le tableau du listing contiens bien tous les","tags":["application"]},{"args":["elements_à_chercher"],"doc":"<p>Vérifie que le tableau du listing ne contiens aucun des éléments recherchés\x3c/p>","matched":true,"name":"Le tableau ne doit pas contenir les éléments","shortdoc":"Vérifie que le tableau du listing ne contiens aucun des","tags":["application"]},{"args":["values","animation"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modif
ier animation","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["values","election","animation"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier animation de l'élection","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["candidat","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier candidat","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["canton","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier canton","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election","centaine","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier centaine de l'élection","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["circonscription","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier circonscription","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["commune","values"],"doc":"<p>Modifie l'
enregistrement\x3c/p>","matched":true,"name":"Modifier commune","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["delegation","election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier delegation","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["departement","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier departement","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier election","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election","election_candidat","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier election_candidat","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["election_resultat","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier election_resultat","shortdoc":"Modifie l'enregistrement","tags":
[]},{"args":["election_unite","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier election_unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["participation_unite","values","election"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier la participation par unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["lien_unite","lib_unite_parent","lib_unite_enfant"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier lien_unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["participation_election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier participation_election","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["plan","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier plan","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["lib_plan","election","values"],"doc":"<p>Modifie l'enregis
trement\x3c/p>","matched":true,"name":"Modifier plan_election","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["plan_unite","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier plan_unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["tranche","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier tranche","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["type_election","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier type_election","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["type_unite","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier type_unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["unite","values"],"doc":"<p>Modifie l'enregistrement\x3c/p>","matched":true,"name":"Modifier unite","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":["web","values"],"doc":"<p>Modifie l'enregistre
ment\x3c/p>","matched":true,"name":"Modifier web","shortdoc":"Modifie l'enregistrement","tags":[]},{"args":[],"doc":"<p>Clique sur le bouton de prévisualisation pour afficher la fenêtre\x3c/p>","matched":true,"name":"Ouvrir la fenêtre de prévisualisation","shortdoc":"Clique sur le bouton de prévisualisation pour afficher la fenêtre","tags":[]},{"args":["nom_etape"],"doc":"<p>Utilise l'action de passage à l'étape suivante du workflow\x3c/p>","matched":true,"name":"Passer à l'étape suivante","shortdoc":"Utilise l'action de passage à l'étape suivante du workflow","tags":[]},{"args":[],"doc":"<p>Utilise l'action de reprise de la saisie\x3c/p>","matched":true,"name":"Reprendre la saisie des résultats","shortdoc":"Utilise l'action de reprise de la saisie","tags":[]},{"args":["nom_etape"],"doc":"<p>Utilise l'action de retour à l'étape précédente du workflow\x3c/p>","matched":true,"name":"Retourner à l'étape précédente","shortdoc":"Utilise l'action de retour à l'étape
précédente du workflow","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir animation","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir animation de l'élection","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir candidat","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir canton","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir centaine","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir circonscription","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched
":true,"name":"Saisir commune","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir delegation","shortdoc":"Remplit le formulaire","tags":[]},{"args":["liste_acteur","liste_unite"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir delegation multiple","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir departement","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir election","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir election_candidat","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir election_resultat","shortdoc":"Remplit le formulaire","tags":
[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir election_unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir la participation par unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["lib_unite_parent","lib_unite_enfant"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir lien_unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["lib_unite_parent","liste_lib_unite_enfant"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir lien_unite multiple","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir participation_election","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir plan","shortdoc":"Remplit le formulaire","tags":[]},{"args":["va
lues"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir plan_election","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir plan_unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir tranche","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir type_election","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir type_unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir unite","shortdoc":"Remplit le formulaire","tags":[]},{"args":["values"],"doc":"<p>Remplit le formulaire\x3c/p>","matched":true,"name":"Saisir web","shortdoc":"Remplit le formulaire",
"tags":[]},{"args":[],"doc":"<p>Si un fichier est choisi alors ce fichier est télécharger. Sinon si le champ est vide clique sur l'icone de suppression pour s'assurer qu'aucun fichier n'est sélectionné\x3c/p>","matched":true,"name":"Selectionner un fichier si ${key} existe et n'est pas vide dans ${collection} sinon deselectionner","shortdoc":"Si un fichier est choisi alors ce fichier est télécharger. Sinon","tags":[]},{"args":["animation"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer animation","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election","animation"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer animation de l'élection","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["candidat"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer candidat","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["canton"],"doc":"<p>Supprime l'enregistrement\x3c/p>","m
atched":true,"name":"Supprimer canton","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election","centaine"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer centaine de l'élection","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["circonscription"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer circonscription","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["commune"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer commune","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["delegation","election"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer delegation","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["departement"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer departement","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election"],"doc":"<p>Supprime l'enregistrement\x3
c/p>","matched":true,"name":"Supprimer election","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election","election_candidat"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer election_candidat","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election_resultat"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer election_resultat","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["election_unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer election_unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["lien_unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer lien_unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["participation_election"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer participation_election","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["plan"],
"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer plan","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["lib_plan","election"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer plan_election","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["plan_unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer plan_unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["tranche"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer tranche","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["type_election"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer type_election","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["type_unite"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer type_unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["unite"],"doc":"<p>Supprime l'enr
egistrement\x3c/p>","matched":true,"name":"Supprimer unite","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":["web"],"doc":"<p>Supprime l'enregistrement\x3c/p>","matched":true,"name":"Supprimer web","shortdoc":"Supprime l'enregistrement","tags":[]},{"args":[],"doc":"<p>Utilise l'action de validation des résultats\x3c/p>","matched":true,"name":"Valider la saisie des résultats","shortdoc":"Utilise l'action de validation des résultats","tags":[]},{"args":["coordonnees_x","coordonnees_y","plan","icone"],"doc":"<p>Vérifie la position de l'icone de coordonnées (x, y) sur le plan\x3c/p>","matched":true,"name":"Verifier la position de l'icone","shortdoc":"Vérifie la position de l'icone de coordonnées (x, y) sur le plan","tags":[]},{"args":["values"],"doc":"<p>Vérifie à partir de la fenêtre de consultation si les valeurs des champs correspondent aux valeurs attendues\x3c/p>","matched":true,"name":"Vérifier les valeurs des champs","shortdoc":"Vérifie à partir de la fenê
tre de consultation si les valeurs","tags":[]}],"name":"openresultat","named_args":true,"scope":"","version":""};
</script>
<title></title>
</head>

Modified: branches/2.0.0-develop-import/tests/documentation.robot
===================================================================
--- branches/2.0.0-develop-import/tests/documentation.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/documentation.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -81,7 +81,7 @@
Ajouter le logo logo openresultat openResultat.png logo openresultat

# Création d'un modéle pour le portail web
- Set Suite Variable ${lib_web} documentation
+ Set Suite Variable ${lib_web} documentation
&{web} = BuiltIn.Create Dictionary
... libelle=${lib_web}
... entete=Résultat Electoraux Libreville
@@ -184,7 +184,7 @@
... age_moyen_com=45
... couleur=#ff0000
${id_candidat2} = Ajouter election_candidat ${candidat} ${id_election}
-
+
# Passage à l'étape de simulation
Depuis le contexte election ${id_election}
Passer à l'étape suivante simulation
@@ -426,15 +426,12 @@
Capture page screenshot screenshots/parametrage/tableau_de_bord.png

# formulaire d'import
- Open Menu parametrage
- Go To Submenu import_unite
+ Depuis le formulaire d'import des unités
Capture and crop page screenshot screenshots/parametrage/form_import.png
... content

# formulaire de la collectivité
- Open Menu administration
- Go To Submenu collectivite
- Click On Link LIBREVILLE
+ Depuis le contexte de la collectivité LIBREVILLE
Click On Form Portlet Action om_collectivite modifier
Capture and crop page screenshot screenshots/parametrage/form_collectivite.png
... content
@@ -648,7 +645,7 @@
Click On Submit Button
${id_candidat2} = Get Text css=div.form-content span#election_candidat

- # formulaire et tableau de bord des centaines
+ # formulaire et tableau de bord des centaines
&{centaine} = BuiltIn.Create Dictionary
... libelle=Municipales 2020 1er tour 1ère centaine
... votant_defaut=100
@@ -819,7 +816,7 @@
Depuis le contexte election ${id_election2}
Capture and crop page screenshot screenshots/utilisation/tb_saisie.png
... css=div#form-container div#affichage_article
-
+
# FINALISATION

# tableau de bord et portlet de l'étape de finalisation
@@ -977,17 +974,17 @@
... titre=Participation
... modele=Participation
... perimetre_aff=COMMUNE
- ... type_aff=Bureau de vote
+ ... type_aff=Bureau de vote
${id_aff_part} = Ajouter animation à l'élection ${animation} ${id_election_ex}
-
+
&{animation} = BuiltIn.Create Dictionary
... libelle=liste
... titre=Liste municipale
... modele=Liste municipale
... perimetre_aff=COMMUNE
- ... type_aff=Bureau de vote
+ ... type_aff=Bureau de vote
${id_aff_liste} = Ajouter animation à l'élection ${animation} ${id_election_ex}
-
+
# Passage à l'étape de saisie
Depuis le contexte election ${id_election_ex}
Passer à l'étape suivante simulation

Modified: branches/2.0.0-develop-import/tests/resources/app/application.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/application.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/application.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -133,3 +133,9 @@
Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#form-csv-import form div.formControls a.retour
Sleep 1
La page ne doit pas contenir d'erreur
+
+
+Depuis l'écran 'Administration & Paramétrage'
+ [Documentation]
+ Go To ${PROJECT_URL}app/index.php?module=settings
+ La page ne doit pas contenir d'erreur

Modified: branches/2.0.0-develop-import/tests/resources/app/candidat.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/candidat.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/candidat.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,24 @@
... @version 25/06/2020 10:06

*** Keywords ***
+Depuis le listing des candidats
+ [Tags] candidat
+ [Documentation] Accède au listing des enregistrements de type 'candidat'.
+ Depuis le listing candidat

+
+Depuis le formulaire d'ajout d'un candidat
+ [Tags] candidat
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'candidat'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=candidat&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte candidat
[Documentation] Accède au formulaire
[Arguments] ${candidat}

- # On accède au tableau
- Depuis le listing candidat
+ Depuis le listing des candidats
# On recherche l'enregistrement
Use Simple Search candidat ${candidat}
# On clique sur le résultat
@@ -19,14 +30,12 @@
# On vérifie qu'il n'y a pas d'erreur
La page ne doit pas contenir d'erreur

+
Ajouter candidat
[Documentation] Crée l'enregistrement
[Arguments] ${values}

- # On accède au tableau
- Depuis le listing candidat
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'un candidat
# On saisit des valeurs
Saisir candidat ${values}
# On valide le formulaire
@@ -63,6 +72,6 @@
Saisir candidat
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "libelle_liste" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/canton.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/canton.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/canton.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,7 +5,19 @@
... @version 25/09/2020 17:09

*** Keywords ***
+Depuis le listing des cantons
+ [Tags] canton
+ [Documentation] Accède au listing des enregistrements de type 'canton'.
+ Depuis le listing canton

+
+Depuis le formulaire d'ajout d'un canton
+ [Tags] canton
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'canton'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=canton&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte canton
[Documentation] Accède au formulaire
[Arguments] ${canton}
@@ -63,7 +75,7 @@
Saisir canton
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "code" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "prefecture" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/circonscription.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/circonscription.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/circonscription.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,24 @@
... @version 25/09/2020 17:09

*** Keywords ***
+Depuis le listing des circonscriptions
+ [Tags] circonscription
+ [Documentation] Accède au listing des enregistrements de type 'circonscription'.
+ Depuis le listing circonscription

+
+Depuis le formulaire d'ajout d'une circonscription
+ [Tags] circonscription
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'circonscription'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=circonscription&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte circonscription
[Documentation] Accède au formulaire
[Arguments] ${circonscription}

- # On accède au tableau
- Depuis le listing circonscription
+ Depuis le listing des circonscriptions
# On recherche l'enregistrement
Use Simple Search circonscription ${circonscription}
# On clique sur le résultat
@@ -23,10 +34,7 @@
[Documentation] Crée l'enregistrement
[Arguments] ${values}

- # On accède au tableau
- Depuis le listing circonscription
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'une circonscription
# On saisit des valeurs
Saisir circonscription ${values}
# On valide le formulaire
@@ -63,7 +71,7 @@
Saisir circonscription
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "code" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "prefecture" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/commune.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/commune.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/commune.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,24 @@
... @version 25/09/2020 17:09

*** Keywords ***
+Depuis le listing des communes
+ [Tags] commune
+ [Documentation] Accède au listing des enregistrements de type 'commune'.
+ Depuis le listing commune

+
+Depuis le formulaire d'ajout d'une commune
+ [Tags] commune
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'commune'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=commune&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte commune
[Documentation] Accède au formulaire
[Arguments] ${commune}

- # On accède au tableau
- Depuis le listing commune
+ Depuis le listing des communes
# On recherche l'enregistrement
Use Simple Search commune ${commune}
# On clique sur le résultat
@@ -23,10 +34,7 @@
[Documentation] Crée l'enregistrement
[Arguments] ${values}

- # On accède au tableau
- Depuis le listing commune
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'une commune
# On saisit des valeurs
Saisir commune ${values}
# On valide le formulaire
@@ -63,7 +71,7 @@
Saisir commune
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "code" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "prefecture" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/departement.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/departement.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/departement.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,7 +5,19 @@
... @version 25/09/2020 17:09

*** Keywords ***
+Depuis le listing des départements
+ [Tags] departement
+ [Documentation] Accède au listing des enregistrements de type 'departement'.
+ Depuis le listing departement

+
+Depuis le formulaire d'ajout d'un département
+ [Tags] departement
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'departement'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=departement&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte departement
[Documentation] Accède au formulaire
[Arguments] ${departement}
@@ -63,7 +75,7 @@
Saisir departement
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "code" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "prefecture" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/election.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/election.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/election.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -94,6 +94,8 @@
Si "delegation_saisie" existe dans "${values}" on execute "Set Checkbox" dans le formulaire
Si "delegation_participation" existe dans "${values}" on execute "Set Checkbox" dans le formulaire
Si "validation_avant_publication" existe dans "${values}" on execute "Set Checkbox" dans le formulaire
+ Si "sieges" existe dans "${values}" on execute "Input Text" dans le formulaire
+ Si "sieges_com" existe dans "${values}" on execute "Input Text" dans le formulaire

Passer à l'étape suivante
[Documentation] Utilise l'action de passage à l'étape suivante du workflow

Modified: branches/2.0.0-develop-import/tests/resources/app/gen/plan_unite.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/gen/plan_unite.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/gen/plan_unite.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -2,7 +2,7 @@
Documentation CRUD de la table plan_unite
... @author generated
... @package openRésultat
-... @version 13/01/2021 18:01
+... @version 30/04/2021 10:04

*** Keywords ***

@@ -68,7 +68,6 @@
Si "unite" existe dans "${values}" on execute "Select From List By Label" dans le formulaire
Si "img_unite_arrivee" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "img_unite_non_arrivee" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "texte_image" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "couleur_texte" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "position_x" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "position_y" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file
+ Si "position_y" existe dans "${values}" on execute "Input Text" dans le formulaire
+ Si "largeur_icone" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/gen/unite.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/gen/unite.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/gen/unite.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -2,7 +2,7 @@
Documentation CRUD de la table unite
... @author generated
... @package openRésultat
-... @version 25/09/2020 17:09
+... @version 04/05/2021 14:05

*** Keywords ***

@@ -83,4 +83,5 @@
Si "circonscription" existe dans "${values}" on execute "Select From List By Label" dans le formulaire
Si "commune" existe dans "${values}" on execute "Select From List By Label" dans le formulaire
Si "departement" existe dans "${values}" on execute "Select From List By Label" dans le formulaire
- Si "code_bureau_vote" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file
+ Si "code_unite" existe dans "${values}" on execute "Input Text" dans le formulaire
+ Si "id_reu" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/lien_unite.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/lien_unite.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/lien_unite.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,25 @@
... @version 10/08/2020 09:08

*** Keywords ***
+Depuis le listing des liens entre unités
+ [Tags] lien_unite
+ [Documentation] Accède au listing des enregistrements de type 'lien_unite'.
+ Depuis le listing lien_unite

+
+Depuis le formulaire d'ajout d'un lien entre unités
+ [Tags] lien_unite
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un
+ ... enregistrement de type 'lien_unite'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=lien_unite&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte lien_unite
[Documentation] Accède au formulaire
[Arguments] ${lien_unite}

- # On accède au tableau
- Depuis le listing lien_unite
+ Depuis le listing des liens entre unités
# On recherche l'enregistrement
Use Simple Search lien_unite ${lien_unite}
# On clique sur le résultat
@@ -23,10 +35,7 @@
[Documentation] Crée l'enregistrement
[Arguments] ${lib_unite_parent} ${lib_unite_enfant}

- # On accède au tableau
- Depuis le listing lien_unite
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'un lien entre unités
# On saisit des valeurs
Saisir lien_unite ${lib_unite_parent} ${lib_unite_enfant}
# On valide le formulaire
@@ -36,6 +45,18 @@
# On le retourne
[Return] ${lien_unite}

+Ajouter lien_unite multiple
+ [Documentation] Crée plusieurs enregistrement de lien_unite
+ [Arguments] ${lib_unite_parent} ${liste_lib_unite_enfant}
+
+ Depuis le listing des liens entre unités
+ # On clique sur le bouton ajouter
+ Click Element css=a#action-tab-lien_unite-corner-ajouter_multiple
+ # On saisit des valeurs
+ Saisir lien_unite multiple ${lib_unite_parent} ${liste_lib_unite_enfant}
+ # On valide le formulaire
+ Click On Submit Button
+
Modifier lien_unite
[Documentation] Modifie l'enregistrement
[Arguments] ${lien_unite} ${lib_unite_parent} ${lib_unite_enfant}
@@ -63,6 +84,13 @@
Saisir lien_unite
[Documentation] Remplit le formulaire
[Arguments] ${lib_unite_parent} ${lib_unite_enfant}
-
+
Select From List By Label unite_parent ${lib_unite_parent}
- Select From List By Label unite_enfant ${lib_unite_enfant}
\ No newline at end of file
+ Select From List By Label unite_enfant ${lib_unite_enfant}
+
+Saisir lien_unite multiple
+ [Documentation] Remplit le formulaire
+ [Arguments] ${lib_unite_parent} ${liste_lib_unite_enfant}
+
+ Select From List By Label unite_parent ${lib_unite_parent}
+ Select Multiple By Label unite_enfant ${liste_lib_unite_enfant}
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/plan.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/plan.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/plan.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,24 @@
... @version 16/12/2020 16:12

*** Keywords ***
+Depuis le listing des plans
+ [Tags] plan
+ [Documentation] Accède au listing des enregistrements de type 'plan'.
+ Depuis le listing plan

+
+Depuis le formulaire d'ajout d'un plan
+ [Tags] plan
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'plan'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=plan&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte plan
[Documentation] Accède au formulaire
[Arguments] ${plan}

- # On accède au tableau
- Depuis le listing plan
+ Depuis le listing des plans
# On recherche l'enregistrement
Use Simple Search plan ${plan}
# On clique sur le résultat
@@ -23,10 +34,7 @@
[Documentation] Crée l'enregistrement
[Arguments] ${values}

- # On accède au tableau
- Depuis le listing plan
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'un plan
# On saisit des valeurs
Saisir plan ${values}
# On valide le formulaire
@@ -63,11 +71,10 @@
Saisir plan
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "image_plan" existe dans "${values}" on execute "Add File" sur "image_plan"
Si "img_unite_arrivee" existe dans "${values}" on execute "Add File" sur "img_unite_arrivee"
Si "img_unite_non_arrivee" existe dans "${values}" on execute "Add File" sur "img_unite_non_arrivee"
Si "par_defaut" existe dans "${values}" on execute "Set Checkbox" dans le formulaire
- Si "largeur_icone" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "hauteur_icone" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file
+ Si "largeur_icone" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file

Modified: branches/2.0.0-develop-import/tests/resources/app/plan_unite.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/plan_unite.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/plan_unite.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -68,24 +68,21 @@
Si "unite" existe dans "${values}" on execute "Select From List By Label" dans le formulaire
Selectionner un fichier si img_unite_arrivee existe et n'est pas vide dans ${values} sinon deselectionner
Selectionner un fichier si img_unite_non_arrivee existe et n'est pas vide dans ${values} sinon deselectionner
- Si "texte_image" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "couleur_texte" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "position_x" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "position_y" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "largeur_icone" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "hauteur_icone" existe dans "${values}" on execute "Input Text" dans le formulaire

Ouvrir la fenêtre de prévisualisation
[Documentation] Clique sur le bouton de prévisualisation pour afficher la fenêtre
[Arguments]

- Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Link css=div.field-type-previsualisation a.voir
+ Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Link css=div.field-type-localisation_plan_static a

Fermer la fenêtre de prévisualisation
[Documentation] Clique sur le bouton de fermer de la fenêtre
[Arguments]

- Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Link css=div#voir a.linkjsclosewindow
+ Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Link css=a.retour

Verifier la position de l'icone
[Documentation] Vérifie la position de l'icone de coordonnées (x, y) sur le plan

Modified: branches/2.0.0-develop-import/tests/resources/app/tranche.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/tranche.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/tranche.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,25 @@
... @version 25/06/2020 10:06

*** Keywords ***
+Depuis le listing des tranches
+ [Tags] tranche
+ [Documentation] Accède au listing des enregistrements de type 'tranche'.
+ Depuis le listing tranche

+
+Depuis le formulaire d'ajout d'une tranche
+ [Tags] tranche
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un
+ ... enregistrement de type 'tranche'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=tranche&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte tranche
[Documentation] Accède au formulaire
[Arguments] ${tranche}

- # On accède au tableau
- Depuis le listing tranche
+ Depuis le listing des tranches
# On recherche l'enregistrement
Use Simple Search tranche ${tranche}
# On clique sur le résultat
@@ -23,10 +35,7 @@
[Documentation] Crée l'enregistrement
[Arguments] ${values}

- # On accède au tableau
- Depuis le listing tranche
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'une tranche
# On saisit des valeurs
Saisir tranche ${values}
# On valide le formulaire
@@ -63,6 +72,7 @@
Saisir tranche
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "ordre" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file
+ Si "ordre" existe dans "${values}" on execute "Input Text" dans le formulaire
+

Modified: branches/2.0.0-develop-import/tests/resources/app/type_election.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/type_election.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/type_election.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,25 @@
... @version 25/06/2020 10:06

*** Keywords ***
+Depuis le listing des types d'élection
+ [Tags] type_election
+ [Documentation] Accède au listing des enregistrements de type 'type_election'.
+ Depuis le listing type_election

+
+Depuis le formulaire d'ajout d'un type d'élection
+ [Tags] type_election
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un
+ ... enregistrement de type 'type_election'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=type_election&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte type_election
[Documentation] Accède au formulaire
[Arguments] ${type_election}

- # On accède au tableau
- Depuis le listing type_election
+ Depuis le listing des types d'élection
# On recherche l'enregistrement
Use Simple Search type_election ${type_election}
# On clique sur le résultat
@@ -23,10 +35,7 @@
[Documentation] Crée l'enregistrement
[Arguments] ${values}

- # On accède au tableau
- Depuis le listing type_election
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'un type d'élection
# On saisit des valeurs
Saisir type_election ${values}
# On valide le formulaire
@@ -63,7 +72,8 @@
Saisir type_election
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "code" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "prefecture" existe dans "${values}" on execute "Input Text" dans le formulaire
\ No newline at end of file
+ Si "prefecture" existe dans "${values}" on execute "Input Text" dans le formulaire
+

Modified: branches/2.0.0-develop-import/tests/resources/app/type_unite.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/type_unite.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/type_unite.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,25 @@
... @version 10/08/2020 09:08

*** Keywords ***
+Depuis le listing des types d'unité
+ [Tags] type_unite
+ [Documentation] Accède au listing des enregistrements de type 'type_unite'.
+ Depuis le listing type_unite

+
+Depuis le formulaire d'ajout d'un type d'unité
+ [Tags] type_unite
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un
+ ... enregistrement de type 'type_unite'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=type_unite&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte type_unite
[Documentation] Accède au formulaire
[Arguments] ${type_unite}

- # On accède au tableau
- Depuis le listing type_unite
+ Depuis le listing des types d'unité
# On recherche l'enregistrement
Use Simple Search type_unite ${type_unite}
# On clique sur le résultat
@@ -23,10 +35,7 @@
[Documentation] Crée l'enregistrement
[Arguments] ${values}

- # On accède au tableau
- Depuis le listing type_unite
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'un type d'unité
# On saisit des valeurs
Saisir type_unite ${values}
# On valide le formulaire
@@ -63,7 +72,8 @@
Saisir type_unite
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "hierarchie" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "bureau_vote" existe dans "${values}" on execute "Set Checkbox" dans le formulaire
\ No newline at end of file
+ Si "bureau_vote" existe dans "${values}" on execute "Set Checkbox" dans le formulaire
+

Modified: branches/2.0.0-develop-import/tests/resources/app/unite.robot
===================================================================
--- branches/2.0.0-develop-import/tests/resources/app/unite.robot 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/tests/resources/app/unite.robot 2021-05-05 14:03:29 UTC (rev 1048)
@@ -5,13 +5,31 @@
... @version 10/08/2020 09:08

*** Keywords ***
+Depuis le listing des unités
+ [Tags] unite
+ [Documentation] Accède au listing des enregistrements de type 'unite'.
+ Depuis le listing unite

+
+Depuis le formulaire d'ajout d'une unité
+ [Tags] unite
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'unite'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=unite&action=0&retour=form
+ La page ne doit pas contenir d'erreur
+
+
+Depuis le formulaire d'import des unités
+ [Tags] unite
+ [Documentation] Accède directement via URL au formulaire d'ajout d'un enregistrement de type 'unite'.
+ Go To ${PROJECT_URL}${OM_ROUTE_FORM}&obj=unite&action=9&idx=0&retour=tab
+ La page ne doit pas contenir d'erreur
+
+
Depuis le contexte unite
[Documentation] Accède au formulaire
[Arguments] ${unite}

- # On accède au tableau
- Depuis le listing unite
+ Depuis le listing des unités
# On recherche l'enregistrement
Use Simple Search unite ${unite}
# On clique sur le résultat
@@ -23,10 +41,7 @@
[Documentation] Crée l'enregistrement
[Arguments] ${values}

- # On accède au tableau
- Depuis le listing unite
- # On clique sur le bouton ajouter
- Click On Add Button
+ Depuis le formulaire d'ajout d'une unité
# On saisit des valeurs
Saisir unite ${values}
# On valide le formulaire
@@ -63,7 +78,7 @@
Saisir unite
[Documentation] Remplit le formulaire
[Arguments] ${values}
-
+
Si "libelle" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "type_unite" existe dans "${values}" on execute "Select From List By Label" dans le formulaire
Si "ordre" existe dans "${values}" on execute "Input Text" dans le formulaire
@@ -83,17 +98,17 @@
Si "code_circonscription" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "code_commune" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "code_departement" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "code_bureau_vote" existe dans "${values}" on execute "Input Text" dans le formulaire
- Si "id_elire" existe dans "${values}" on execute "Input Text" dans le formulaire
+ Si "code_unite" existe dans "${values}" on execute "Input Text" dans le formulaire
+ Si "id_reu" existe dans "${values}" on execute "Input Text" dans le formulaire

L'unite a été correctement importée
[Documentation] Vérifie si l'unité existe et si ses valeurs sont bien celles
... attendues
- [Arguments] ${values} ${id_elire}
-
+ [Arguments] ${values} ${id_reu}
+
# On accède à l'unité à l'aide de son libellé
- Depuis le listing unite
- Use Simple Search id_elire ${id_elire}
+ Depuis le listing des unités
+ Use Simple Search id_reu ${id_reu}
Click On Link ${values.libelle}

# Pour chacune des valeurs enregistrées vérifie si la valeur du champ est correcte
@@ -100,3 +115,4 @@
${keys} = Get Dictionary Keys ${values}
:FOR ${key} IN @{keys}
\ Element Should Contain css=span#${key} ${values.${key}}
+

Modified: branches/2.0.0-develop-import/web/encoding.class.php
===================================================================
--- branches/2.0.0-develop-import/web/encoding.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/web/encoding.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -182,11 +182,11 @@
$max = strlen($text);
$buf = "";
for($i = 0; $i < $max; $i++){
- $c1 = $text{$i};
+ $c1 = $text[$i];
if($c1>="\xc0"){ //Should be converted to UTF8, if it's not UTF8 already
- $c2 = $i+1 >= $max? "\x00" : $text{$i+1};
- $c3 = $i+2 >= $max? "\x00" : $text{$i+2};
- $c4 = $i+3 >= $max? "\x00" : $text{$i+3};
+ $c2 = $i+1 >= $max? "\x00" : $text[$i+1];
+ $c3 = $i+2 >= $max? "\x00" : $text[$i+2];
+ $c4 = $i+3 >= $max? "\x00" : $text[$i+3];
if($c1 >= "\xc0" & $c1 <= "\xdf"){ //looks like 2 bytes UTF8
if($c2 >= "\x80" && $c2 <= "\xbf"){ //yeah, almost sure it's UTF8 already
$buf .= $c1 . $c2;

Modified: branches/2.0.0-develop-import/web/themes/t01/js/script.js
===================================================================
--- branches/2.0.0-develop-import/web/themes/t01/js/script.js 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/web/themes/t01/js/script.js 2021-05-05 14:03:29 UTC (rev 1048)
@@ -42,7 +42,7 @@
rapport = rapports[$(this).parent().attr('id')];
$(this).css('top', $(this).data('postop') * rapport);
$(this).css('left', $(this).data('posleft') * rapport);
- $(this).css('width', 80 * rapport);
+ $(this).css('width', $(this).data('originalwidth') * rapport);
});
}


Modified: branches/2.0.0-develop-import/web/web.class.php
===================================================================
--- branches/2.0.0-develop-import/web/web.class.php 2021-05-05 14:00:15 UTC (rev 1047)
+++ branches/2.0.0-develop-import/web/web.class.php 2021-05-05 14:03:29 UTC (rev 1048)
@@ -334,7 +334,7 @@
$plans[] = $value["obj"];
}
//
- $unite[$key]["fichier"] = "b".$value["code"].".html";
+ $unite[$key]["fichier"] = "b".$value["ordre"].".html";
$unite[$key]["inscrits"] = 0;
$unite[$key]["votants"] = 0;
$unite[$key]["blancs"] = 0;
@@ -869,10 +869,10 @@
$unites = $this->get_election_unites();
// Tri des unités par code pour les afficher dans le bon ordre
usort($unites, function ($a, $b) {
- if ($a['code'] === $b['code']) {
+ if ($a['ordre'] === $b['ordre']) {
return 0;
}
- return ($a['code'] < $b['code']) ? -1 : 1;
+ return ($a['ordre'] < $b['ordre']) ? -1 : 1;
});
$unites_liste_content = "";
foreach ($unites as $key => $value) {
@@ -880,7 +880,7 @@
//
$unites_liste_content .= sprintf(
$this->template_election_unites_liste_ligne_arrive,
- $value["code"],
+ $value["ordre"],
$value["libelle"]
);
} else {
@@ -887,7 +887,7 @@
//
$unites_liste_content .= sprintf(
$this->template_election_unites_liste_ligne_non_arrive,
- $value["code"],
+ $value["ordre"],
$value["libelle"]
);
}
@@ -930,7 +930,7 @@
//
$this->template_election_resultats_unite_modal,
//
- $election_unite["code"],
+ $election_unite["ordre"],
//
$election_unite["libelle"],
//
@@ -1367,52 +1367,6 @@
}

/**
- * Récupère le texte demandé dans les paramétres. Si ce texte n'est pas vide
- * il est découpé en mot. Pour chaque mot si il correspond a un des mots clés
- * un traitement est effectué.
- * Les mots clés sont :
- * - libelle => le mot libellé est remplacé par le libellé de l'unité
- * - ordre => le mot ordre est remplacé par le numéro d'ordre de l'unité
- * Une fois les traitements effectués, la phrase est reconstituée.
- * Renvoie le texte de l'icone.
- *
- * @param array $planUnite paramétrage de l'unité sur le plan
- *
- * @return string texte à afficher dans l'icone
- */
- protected function get_texte_icone($planUnite) {
- $texte = '';
- if(! empty($planUnite['texte_image'])) {
- // Récupération du texte de l'icône :
- // 1- coupe la chaîne de caractères en "mots" en coupant selon les ' '.
- // Les mots sont stockées dans un tableau.
- // 2- test pour chaque mots si il correspond à un mot clé. Si c'est le cas
- // effectue le traitement nécessaire et remplace la valeur obtenu dans
- // la case du tableau correpsondant au mot.
- // Ex : libelle => monLibelleDUnite
- // 3- reconstitue la chaîne de caractère avec le tableau des mots en mettant un ' '
- // entre chaque mots
- $motsTexte = explode(' ', $planUnite['texte_image']);
- $uniteId = $planUnite['unite'];
- $infosUnite = $this->get_info_unite($uniteId);
- foreach ($motsTexte as $key => $mot) {
- switch ($mot) {
- case 'libelle':
- $motsTexte[$key] = $this->get_nom_unite($uniteId);
- break;
- case 'ordre':
- $motsTexte[$key] = $infosUnite['code'];
- break;
- default:
- break;
- }
- }
- $texte = implode(' ', $motsTexte);
- }
- return $texte;
- }
-
- /**
* Affichage des plans
*
* @param $plan
@@ -1429,48 +1383,62 @@
// Si les unités associées aux plans sont également associée à l'élection
// elles sont affichées
if ($planUnite = $this->get_plan_unite($idPlan, $idUnite)) {
- // Récupération des dimensions de l'icone
- $largeur = ! empty($planUnite['largeur_icone']) ?
- $planUnite['largeur_icone'] :
+ // Récupération de l'image et de sa largeur
+ $urlImage = $this->get_url_icone_unite($planUnite, $plan);
+ $width = 80;
+ if (! empty($planUnite['largeur_icone'])) {
+ $planUnite['largeur_icone'];
+ } elseif (! empty($plan['largeur_icone'])) {
$plan['largeur_icone'];
-
- $hauteur = ! empty($planUnite['hauteur_icone']) ?
- $planUnite['hauteur_icone'] :
- $plan['hauteur_icone'];
+ } elseif (file_exists($urlImage)) {
+ $size = getimagesize($urlImage);
+ }

if ($unite['etat'] == 1) {
$election_plan_content .= sprintf(
$this->template_election_plan_unite_arrive,
- $unite['code'],
- $unite['code'],
- $this->get_url_icone_unite($planUnite, $plan),
- $largeur,
- $hauteur,
$planUnite['position_y'],
$planUnite['position_x'],
- $planUnite['couleur_texte'],
- $this->get_texte_icone($planUnite)
+ $width,
+ $planUnite['position_y'],
+ $planUnite['position_x'],
+ $unite['ordre'],
+ $urlImage,
+ $unite['libelle'],
+ $unite['libelle']
);
} else {
$election_plan_content .= sprintf(
$this->template_election_plan_unite_non_arrive,
- $unite['code'],
- $this->get_url_icone_unite($planUnite, $plan),
- $largeur,
- $hauteur,
$planUnite['position_y'],
$planUnite['position_x'],
- $planUnite['couleur_texte'],
- $this->get_texte_icone($planUnite)
+ $width,
+ $planUnite['position_y'],
+ $planUnite['position_x'],
+ $urlImage,
+ $unite['libelle'],
+ $unite['libelle']
);
}
}
}

+ // Récupération de la largeur du plan
+ $width = "620";
+ if (file_exists($plan['image_plan']['filepath'])) {
+ //
+ $size = getimagesize($plan['image_plan']['filepath']);
+ //
+ if ($size !== false) {
+ $width = $size[0];
+ }
+ }
+
return sprintf(
$this->template_election_plan,
$idPlan,
$plan['image_plan']['filepath'],
+ $width = $size[0],
$election_plan_content
);
}
@@ -1777,40 +1745,33 @@
<a href="%s">%s</a>';

/**
- * Template du plan de l'élection
- *
- * @var string
+ *
*/
- protected $template_election_plan = '
- <div id="plan-%s" class="plan"'.
- 'style="background-image: url(\'%s\'); background-size: 100%% 100%%; width: 800px; height: 600px;">
+ var $template_election_plan = '
+ <div id="plan-%s" class="plan">
+ <img class="plan img-responsive" src="%s" alt="-" data-originalwidth="%s" />
%s
</div>';

/**
- * Template des unites de l'élection qui sont arrivées
- *
- * @var string
+ *
*/
- // L'utilisation de la balise button permet de facilement centrer le texte dans l'icone
- protected $template_election_plan_unite_arrive = '
- <button class="unite-%s-arrivee" data-toggle="modal" href="#myModal%s" style='.
- '"background-image: url(\'%s\'); background-size: 100%% 100%%; position: absolute; background-color: Transparent;'.
- 'width: %dpx; height: %dpx; top: %spx; left: %spx; color: %s; border: none; overflow: hidden;">
- %s
- </button>';
+ var $template_election_plan_unite_arrive = '
+ <span class="bureau" data-postop="%s" data-posleft="%s" data-originalwidth="%s" style="top:%spx;left:%spx;">
+ <a data-toggle="modal" href="#myModal%s">
+ <img class="img-responsive" src="%s"
+ alt="Résultats de l\'unité %s" title="Résultats de l\'unité %s" />
+ </a>
+ </span>';

/**
- * Template des unites de l'élection qui ne sont pas arrivées
- *
- * @var string
+ *
*/
- // L'utilisation de la balise button permet de facilement centrer le texte dans l'icone
- protected $template_election_plan_unite_non_arrive = '
- <button class="unite-%s-non-arrivee" style="background-image: url(\'%s\'); background-size: 100%% 100%%; background-color: Transparent;'.
- 'position: absolute; width: %dpx; height: %dpx; top: %spx; left: %spx; color: %s; border: none; overflow: hidden;">
- %s
- </button>';
+ var $template_election_plan_unite_non_arrive = '
+ <span class="bureau" data-postop="%s" data-posleft="%s" data-originalwidth="%s" style="top:%spx;left:%spx;">
+ <img class="img-responsive" src="%s"
+ alt="Unité %s non arrivé" title="Unité %s non arrivé" />
+ </span>';

/**
* Template des container pour la participation et les résultats de

Reply all
Reply to author
Forward
0 new messages