/[openfoncier]/trunk/app/geolocalisation.view.php
ViewVC logotype

Contents of /trunk/app/geolocalisation.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2263 - (show annotations)
Fri Sep 6 17:58:20 2013 UTC (11 years, 5 months ago) by softime
File size: 10145 byte(s)
- Modification de la gestion de la géolocalisation en cas de modification des parcelles dans le DI : affichage d'un message plus pertinent pour l'utilisateur, modification des boutons impactés demandant un autre traitement.
- Modification des tests
- Traductions

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 */
8
9 // Fichiers requis
10 require_once "../obj/utils.class.php";
11 require_once '../obj/om_formulaire.class.php';
12
13 $idx = (isset($_GET['idx'])) ? $_GET['idx'] : "";
14
15 //Si l'identifiant du dossier d'autorisation a été fourni
16 if (!is_null($idx)){
17 // Instance de la class utils
18 $f = new utils("nohtml", "geolocalisation_consulter", _("Geolocalisation"));
19
20 // Récupération des données de sig_elyx
21 $sqlDonneesSIG = "SELECT *
22 FROM ".DB_PREFIXE."sig_elyx
23 WHERE dossier = '$idx'";
24 $resDonneesSIG = $f->db->query($sqlDonneesSIG);
25 $f->addToLog("app/geolocalisation.view.php : db->query(\"".$sqlDonneesSIG."\")", VERBOSE_MODE);
26 $f->isDatabaseError($resDonneesSIG);
27 $rowDonneesSIG = &$resDonneesSIG->fetchRow(DB_FETCHMODE_ASSOC);
28
29 // Récupération des données du dossier d'autorisation
30 $sqlDonneesDI = "SELECT *
31 FROM ".DB_PREFIXE."dossier
32 WHERE dossier = '$idx'";
33 $resDonneesDI = $f->db->query($sqlDonneesDI);
34 $f->addToLog("app/geolocalisation.view.php : db->query(\"".$sqlDonneesDI."\")", VERBOSE_MODE);
35 $f->isDatabaseError($resDonneesDI);
36 $rowDonneesDI = &$resDonneesDI->fetchRow(DB_FETCHMODE_ASSOC);
37
38 //
39 $geom = "";
40 //
41 if (isset($rowDonneesDI) && $rowDonneesDI['geom'] != '') {
42 //
43 $sqlGEOM = "SELECT public.ST_AsText('".$rowDonneesDI['geom']."'::geometry)";
44 $geom = $f->db->getOne($sqlGEOM);
45 $f->addToLog("app/geolocalisation.view.php : db->getOne(\"".$sqlGEOM."\")", VERBOSE_MODE);
46 }
47
48 // Affichage du fil d'Ariane
49 $f->displaySubTitle(_("Geolocalisation") . "->" . $rowDonneesDI["dossier_libelle"]);
50 $f->display();
51
52 // Message affiché
53 $message_field = '<div class="message ui-widget ui-corner-all ui-state-highlight ui-state-%s" id="%s">
54 <p>
55 <span class="ui-icon ui-icon-info"></span>
56 <span class="text">%s<br></span>
57 </p>
58 </div>';
59
60 // Message d'erreur si les références cadastrales ont été modifiés
61 // dans le dossier d'instruction
62 if (isset($rowDonneesSIG["terrain_references_cadastrales_archive"]) && $rowDonneesSIG["terrain_references_cadastrales_archive"] != $rowDonneesDI["terrain_references_cadastrales"]) {
63 printf($message_field, "error", "geolocalisation-message","<p>"._("Les references cadastrales ont ete modifiees dans le dossier d'instruction.")."</p>"
64 ."<p>"._("Les references cadastrales utilisees par le SIG")." : ".$rowDonneesSIG["terrain_references_cadastrales_archive"]."</p>");
65 }
66
67 // Bouton retour
68 $button_return = '<div class="formControls">
69 <a id="retour-button" onclick="redirectPortletAction(1,\'main\');" href="#" class="retour">Retour</a>
70 </div>';
71
72 // Affiche le bouton de retour
73 printf($button_return);
74
75 // Début du formulaire
76 echo "\n<!-- ########## START FORMULAIRE ########## -->\n";
77 echo "<div class=\"formEntete ui-corner-all\">\n";
78
79 // Champ pour le bouton
80 $button_field = '<div class="field field-type-static">
81 <div class="form-libelle">
82 <label id="lib-%1$s" class="libelle-%1$s" for="%1$s">
83 %2$s
84 </label>
85 </div>
86 <div class="form-content">
87 <span id="%1$s" class="field_value">
88 %3$s
89 </span>
90 </div>
91 </div>';
92
93 // Boutons d'action sur la géolocalisation
94 $button = '<input type="submit" class="om-button ui-button ui-widget ui-state-default ui-corner-all" id="%s-button" value="%s" onclick="%s" role="button" aria-disabled="false">';
95
96 // Affiche le bouton permettant de lancer tous les traitements
97 echo '<div class="alignBtnCenter">';
98 printf($button, "chance", "J'ai de la chance", "all_geolocalisation_treatments('$idx', '"._("Etes vous sur de vouloir recuperer les contraintes ?")."')");
99 echo '</div>';
100
101 /**
102 * Compose le message affiché à l'utilisateur
103 * @param string $field_name Nom du champ
104 * @param string $message_field Code html du message
105 * @param array $rowDonneesSIG Tableau des données
106 * @param object $f Instance de la classe utils
107 * @return string Message
108 */
109 function build_message($field_name, $message_field, $rowDonneesSIG, $f) {
110
111 // Récupération des infos
112 $date = (isset($rowDonneesSIG["date_".$field_name])) ? $f->formatTimestamp($rowDonneesSIG["date_".$field_name]) : "";
113 $etat = (isset($rowDonneesSIG["etat_".$field_name])) ? $rowDonneesSIG["etat_".$field_name] : "";;
114 $text = (isset($rowDonneesSIG["message_".$field_name])) ? $rowDonneesSIG["message_".$field_name] : "";;
115
116 // id du message
117 $id_message = $field_name."-message";
118
119 // Définit le type du message "empty", "valid" ou "error"
120 // empty : message grisé
121 // valid : message de validation
122 // error : message d'erreur
123 $type_message = "empty";
124 if ($etat != "") {
125 //
126 $type_message = "valid";
127 if ($etat == 'f') {
128 $type_message = "error";
129 }
130 }
131
132 // Si il y a une date, un message est ajouté en debut
133 if ($date != "") {
134 //
135 $date = sprintf(_("Dernier traitement effectue le %s."), $date);
136 }
137
138 // Si aucun message alors l'action n'a jamais été effectuée
139 if ($text == "") {
140 //
141 $text = _("Action non effectuee.");
142 //
143 $type_message = "empty";
144 }
145
146 // Compose le message
147 $message = sprintf($message_field, $type_message, $id_message, $date." ".$text);
148
149 // retour
150 return $message;
151 }
152
153 // Tableau pour afficher l'interface sur deux colonnes
154 echo "<table class='sousform-geolocalisation'><tr><td class='list-buttons-geolocalisation'>";
155
156 //Affichage des boutons
157 printf($button_field, 'verif_parcelle', sprintf($button, 'verif_parcelle', "Vérifier les parcelles", "geolocalisation_treatment('$idx', 'verif_parcelle', set_geolocalisation_message)"), build_message('verif_parcelle', $message_field, $rowDonneesSIG, $f));
158
159 printf($button_field, 'calcul_emprise', sprintf($button, 'calcul_emprise', "Calculer l'emprise", "geolocalisation_treatment('$idx', 'calcul_emprise', '')"), build_message('calcul_emprise', $message_field, $rowDonneesSIG, $f));
160
161 printf($button_field, 'dessin_emprise', sprintf($button, 'dessin_emprise', "Dessiner l'emprise", "geolocalisation_treatment('$idx', 'dessin_emprise', redirection_elyxweb)"), build_message('dessin_emprise', $message_field, $rowDonneesSIG, $f));
162
163 printf($button_field, 'calcul_centroide', sprintf($button, 'calcul_centroide', "Calculer le centroïde", "geolocalisation_treatment('$idx', 'calcul_centroide', set_geolocalisation_centroide)"), build_message('calcul_centroide', $message_field, $rowDonneesSIG, $f));
164
165 printf($button_field, 'recup_contrainte', sprintf($button, 'recup_contrainte', "Récupérer les contraintes", "geolocalisation_treatment('$idx', 'recup_contrainte', set_geolocalisation_contrainte, '"._("Etes vous sur de vouloir recuperer les contraintes ?")."')"), build_message('recup_contrainte', $message_field, $rowDonneesSIG, $f));
166
167 //
168 echo "</td>";
169
170 // Le formualaire n'a pas été validé
171 $validation = 1;
172 // Le formualaire est en mode consultation
173 $maj = 3;
174
175 // Champs du formulaire
176 $champs = array("references_cadastrales", "adresse", "centroide", "servitude");
177
178 // Création d'un nouvel objet de type formulaire
179 $form = new formulaire(NULL, $validation, $maj, $champs);
180
181 // Configuration des types de champs
182 foreach ($champs as $key) {
183 $form->setType($key, 'static');
184 }
185 $form->setType("references_cadastrales", "referencescadastralesstatic");
186
187 // Configuration des libellés
188 $form->setLib("references_cadastrales", _("terrain_references_cadastrales"));
189 $form->setLib("adresse", _("adresse"));
190 $form->setLib("centroide", _("centroide"));
191 $form->setLib("servitude", _("contraintes"));
192
193 // Configuration des données
194 $form->setVal("references_cadastrales", $rowDonneesDI["terrain_references_cadastrales"]);
195 $form->setVal("adresse", $rowDonneesDI["terrain_adresse_voie_numero"]." ".$rowDonneesDI["terrain_adresse_voie"]." ".$rowDonneesDI["terrain_adresse_lieu_dit"]." ".$rowDonneesDI["terrain_adresse_localite"]." ".$rowDonneesDI["terrain_adresse_code_postal"]." ".$rowDonneesDI["terrain_adresse_bp"]." ".$rowDonneesDI["terrain_adresse_cedex"]);
196 if($geom != "") {
197 $form->setVal('centroide',
198 "<a id='action-form-localiser'".
199 " target='_blank' href='../app/redirect_plan_sig.php?idx=".$rowDonneesDI["dossier"]."'>".
200 "<span class='om-icon om-icon-16 om-icon-fix sig-16' title='Localiser'>Localiser</span> ".
201 $geom.
202 " </a>");
203 } else {
204 $form->setVal('centroide', $geom);
205 }
206 $form->setVal("servitude", $rowDonneesDI["servitude"]);
207
208 //
209 echo "<td class='list-data-geolocalisation'>";
210
211 // Affichage des champs
212 $form->setBloc("centroide", "D", _("Donnees du dossier d'instruction"), "alignForm col_12");
213 $form->setBloc("centroide", "DF", "", "alignForm col_12");
214 $form->afficher(array("centroide",), $validation, false, false);
215 $form->setBloc("servitude", "DF", "", "alignForm col_12");
216 $form->afficher(array("servitude",), $validation, false, false);
217 $form->setBloc("references_cadastrales", "DF", "", "alignForm col_12");
218 $form->afficher(array("references_cadastrales",), $validation, false, false);
219 $form->setBloc("adresse", "DF", "", "alignForm col_12");
220 $form->afficher(array("adresse",), $validation, false, false);
221 $form->setBloc("adresse", "F");
222
223 // Ferme le tableau pour l'affichage sur deux colonnes
224 echo "</td></tr></table>";
225
226 // Fin du formulaire
227 echo "</div>";
228
229 // Affiche le bouton de retour
230 printf($button_return);
231
232 }
233 ?>

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26