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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2263 - (hide annotations)
Fri Sep 6 17:58:20 2013 UTC (11 years, 4 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 softime 2166 <?php
2     /**
3     *
4     *
5 softime 2212 * @package openfoncier
6     * @version SVN : $Id$
7 softime 2166 */
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 softime 2170 // Instance de la class utils
18 softime 2166 $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 softime 2236 //
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 softime 2166 // Affichage du fil d'Ariane
49     $f->displaySubTitle(_("Geolocalisation") . "->" . $rowDonneesDI["dossier_libelle"]);
50     $f->display();
51    
52     // Message affiché
53 softime 2200 $message_field = '<div class="message ui-widget ui-corner-all ui-state-highlight ui-state-%s" id="%s">
54 softime 2166 <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 softime 2263 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 softime 2166 }
66    
67     // Bouton retour
68     $button_return = '<div class="formControls">
69 softime 2200 <a id="retour-button" onclick="redirectPortletAction(1,\'main\');" href="#" class="retour">Retour</a>
70 softime 2166 </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 softime 2200 $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 softime 2166
96     // Affiche le bouton permettant de lancer tous les traitements
97     echo '<div class="alignBtnCenter">';
98 softime 2217 printf($button, "chance", "J'ai de la chance", "all_geolocalisation_treatments('$idx', '"._("Etes vous sur de vouloir recuperer les contraintes ?")."')");
99 softime 2166 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 softime 2170 $date = (isset($rowDonneesSIG["date_".$field_name])) ? $f->formatTimestamp($rowDonneesSIG["date_".$field_name]) : "";
113 softime 2166 $etat = (isset($rowDonneesSIG["etat_".$field_name])) ? $rowDonneesSIG["etat_".$field_name] : "";;
114     $text = (isset($rowDonneesSIG["message_".$field_name])) ? $rowDonneesSIG["message_".$field_name] : "";;
115    
116 softime 2200 // id du message
117     $id_message = $field_name."-message";
118    
119 softime 2166 // 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 softime 2170 //
143     $type_message = "empty";
144 softime 2166 }
145    
146     // Compose le message
147 softime 2200 $message = sprintf($message_field, $type_message, $id_message, $date." ".$text);
148 softime 2166
149     // retour
150     return $message;
151     }
152    
153 softime 2233 // Tableau pour afficher l'interface sur deux colonnes
154     echo "<table class='sousform-geolocalisation'><tr><td class='list-buttons-geolocalisation'>";
155    
156 softime 2166 //Affichage des boutons
157 softime 2200 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 softime 2166
159 softime 2200 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 softime 2166
161 softime 2200 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 softime 2166
163 softime 2200 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 softime 2166
165 softime 2212 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 softime 2233
167     //
168     echo "</td>";
169 softime 2166
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 nhaye 2244 $form->setLib("servitude", _("contraintes"));
192 softime 2166
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 nhaye 2241 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 softime 2166 $form->setVal("servitude", $rowDonneesDI["servitude"]);
207    
208 softime 2233 //
209     echo "<td class='list-data-geolocalisation'>";
210    
211 softime 2166 // 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 softime 2233 // Ferme le tableau pour l'affichage sur deux colonnes
224     echo "</td></tr></table>";
225 softime 2166
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