1 |
<?php |
2 |
/** |
3 |
* Ce script permet de mettre à jour les dates de suivi du traitement |
4 |
* des instructions |
5 |
* |
6 |
* @package openfoncier |
7 |
* @version SVN : $Id$ |
8 |
*/ |
9 |
|
10 |
// |
11 |
require_once "../obj/utils.class.php"; |
12 |
$f = new utils("nohtml", "maj_dates_suivi"); |
13 |
|
14 |
// Récupération des valeur passées en POST ou GET |
15 |
if(isset($_POST['type_mise_a_jour'])) { |
16 |
$type_mise_a_jour = $_POST['type_mise_a_jour']; |
17 |
} elseif(isset($_GET['type_mise_a_jour'])) { |
18 |
$type_mise_a_jour = $_GET['type_mise_a_jour']; |
19 |
} else { |
20 |
$type_mise_a_jour = ""; |
21 |
} |
22 |
if(isset($_POST['date'])) { |
23 |
$date = $_POST['date']; |
24 |
} elseif(isset($_GET['date'])) { |
25 |
$date = $_GET['date']; |
26 |
} else { |
27 |
$date = ""; |
28 |
} |
29 |
if(isset($_POST['instruction'])) { |
30 |
$instruction = $_POST['instruction']; |
31 |
} elseif(isset($_GET['instruction'])) { |
32 |
$instruction = $_GET['instruction']; |
33 |
} else { |
34 |
$instruction = ""; |
35 |
} |
36 |
// Booléen permettant de définir si un enregistrement à eu lieu |
37 |
$correct = false; |
38 |
|
39 |
// Champs date à mettre à jour |
40 |
$liste_champs=array(); |
41 |
|
42 |
// Si le formulaire a été validé |
43 |
if (isset($_POST['validation'])) { |
44 |
if(!empty($type_mise_a_jour) and !empty($date) and !empty($instruction)) { |
45 |
|
46 |
//Vérification de l'existance de l'instruction |
47 |
$sql = "SELECT count(*) FROM ".DB_PREFIXE."instruction WHERE instruction=".$instruction; |
48 |
$nbInstr = $f->db->getOne($sql); |
49 |
$f->isDatabaseError(); |
50 |
$f->addToLog("app/maj_dates_suivi.php : ".$sql); |
51 |
|
52 |
if($nbInstr == "1") { |
53 |
$liste_champs = explode(";", $type_mise_a_jour); |
54 |
// Mise à jour des dates après l'écran de verification |
55 |
if(isset($_POST["is_valid"]) and $_POST["is_valid"] == "true") { |
56 |
require_once '../obj/instruction.class.php'; |
57 |
$instr = new instruction($instruction, $f->db, DEBUG); |
58 |
$valF = array(); |
59 |
foreach($instr->champs as $id => $champ) { |
60 |
$valF[$champ] = $instr->val[$id]; |
61 |
} |
62 |
$valF['date_evenement']=$instr->dateDBToForm($valF['date_evenement']); |
63 |
$valF['archive_date_complet']=$instr->dateDBToForm($valF['archive_date_complet']); |
64 |
$valF['archive_date_rejet']=$instr->dateDBToForm($valF['archive_date_rejet']); |
65 |
$valF['archive_date_limite']=$instr->dateDBToForm($valF['archive_date_limite']); |
66 |
$valF['archive_date_notification_delai']=$instr->dateDBToForm($valF['archive_date_notification_delai']); |
67 |
$valF['archive_date_decision']=$instr->dateDBToForm($valF['archive_date_decision']); |
68 |
$valF['archive_date_validite']=$instr->dateDBToForm($valF['archive_date_validite']); |
69 |
$valF['archive_date_achevement']=$instr->dateDBToForm($valF['archive_date_achevement']); |
70 |
$valF['archive_date_chantier']=$instr->dateDBToForm($valF['archive_date_chantier']); |
71 |
$valF['archive_date_conformite']=$instr->dateDBToForm($valF['archive_date_conformite']); |
72 |
$valF['date_finalisation_courrier']=$instr->dateDBToForm($valF['date_finalisation_courrier']); |
73 |
$valF['date_envoi_signature']=$instr->dateDBToForm($valF['date_envoi_signature']); |
74 |
$valF['date_retour_signature']=$instr->dateDBToForm($valF['date_retour_signature']); |
75 |
$valF['date_envoi_rar']=$instr->dateDBToForm($valF['date_envoi_rar']); |
76 |
$valF['date_retour_rar']=$instr->dateDBToForm($valF['date_retour_rar']); |
77 |
$valF['date_envoi_controle_legalite']=$instr->dateDBToForm($valF['date_envoi_controle_legalite']); |
78 |
$valF['date_retour_controle_legalite']=$instr->dateDBToForm($valF['date_retour_controle_legalite']); |
79 |
|
80 |
foreach(explode(";", $type_mise_a_jour) as $maj_date) { |
81 |
$valF[$maj_date]=$date; |
82 |
} |
83 |
|
84 |
$instr->modifier($valF, $f->db, DEBUG); |
85 |
$correct = true; |
86 |
$instruction = ""; |
87 |
} else { |
88 |
// Récupération des infos du dossier |
89 |
$sqlInfo = "SELECT dossier.dossier, |
90 |
evenement.libelle as evenement, |
91 |
autorite_competente.code as autorite_competente_code, |
92 |
autorite_competente.libelle as autorite_competente, |
93 |
evenement.type as evenement_type, |
94 |
to_char(date_envoi_signature,'DD/MM/YYYY') as date_envoi_signature, |
95 |
to_char(date_retour_signature,'DD/MM/YYYY') as date_retour_signature, |
96 |
to_char(date_envoi_controle_legalite,'DD/MM/YYYY') as date_envoi_controle_legalite, |
97 |
to_char(date_retour_controle_legalite,'DD/MM/YYYY') as date_retour_controle_legalite, |
98 |
to_char(date_envoi_rar,'DD/MM/YYYY') as date_envoi_rar, |
99 |
to_char(date_retour_rar,'DD/MM/YYYY') as date_retour_rar |
100 |
FROM ".DB_PREFIXE."instruction |
101 |
INNER JOIN ".DB_PREFIXE."dossier ON |
102 |
dossier.dossier=instruction.dossier |
103 |
LEFT JOIN ".DB_PREFIXE."autorite_competente ON |
104 |
dossier.autorite_competente=autorite_competente.autorite_competente |
105 |
INNER JOIN ".DB_PREFIXE."evenement ON |
106 |
instruction.evenement=evenement.evenement |
107 |
WHERE instruction=".$instruction; |
108 |
$resInfo = $f->db->query($sqlInfo); |
109 |
$f->isDatabaseError($resInfo); |
110 |
$infos = $resInfo->fetchRow(DB_FETCHMODE_ASSOC); |
111 |
} |
112 |
} else { |
113 |
$error = _("Le numero saisi ne correspond a aucune instruction."); |
114 |
} |
115 |
|
116 |
} else { |
117 |
$error = _("Tous les champs doivent etre remplis."); |
118 |
} |
119 |
} |
120 |
|
121 |
// |
122 |
$f->setTitle(_("Suivi")." -> "._("Mise a jour des dates")); |
123 |
$f->setFlag(NULL); |
124 |
$f->display(); |
125 |
|
126 |
|
127 |
/** |
128 |
* Affichage du formulaire |
129 |
*/ |
130 |
|
131 |
// Layout |
132 |
echo "<div id=\"formulaire\" class=\"ui-tabs ui-widget ui-widget-content ui-corner-all\">"; |
133 |
echo "<ul class=\"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\">"; |
134 |
echo "<li class=\"ui-state-default ui-corner-top ui-tabs-selected ui-state-active\"><a href=\"#tabs-1\" id=\"main\">"; |
135 |
echo _("Instruction"); |
136 |
echo "</a></li>"; |
137 |
echo "</ul>"; |
138 |
echo "<div id=\"tabs-1\" class=\"ui-tabs-panel ui-widget-content ui-corner-bottom\">"; |
139 |
echo '<div class="formulaire">'; |
140 |
|
141 |
// Ouverture du formulaire |
142 |
echo "\t<form method=\"post\" id=\"maj_dates_form\" action=\"../app/maj_dates_suivi.php\" class=\"formEntete ui-corner-all\">\n"; |
143 |
|
144 |
// Affichage du message d'erreur |
145 |
if(!empty($error)) { |
146 |
$f->displayMessage("error", $error); |
147 |
} |
148 |
|
149 |
// Affichage du message de validation de la saisie |
150 |
if($correct === true) { |
151 |
$f->displayMessage("ok", _("Saisie enregistree")); |
152 |
} |
153 |
|
154 |
// Paramétrage et affichage des champs du formulaire |
155 |
$validation = 0; |
156 |
$maj = 0; |
157 |
if(isset($infos)) { |
158 |
$champs = array("type_mise_a_jour", "date", "instruction", "dossier", "evenement" |
159 |
, "autorite_competente", "date_envoi_signature", |
160 |
"date_retour_signature", "date_envoi_controle_legalite", |
161 |
"date_retour_controle_legalite", "date_envoi_rar", |
162 |
"date_retour_rar", "is_valid"); |
163 |
} else { |
164 |
$champs = array("type_mise_a_jour", "date", "instruction"); |
165 |
} |
166 |
// Instanciation du formulaire |
167 |
require_once '../obj/om_formulaire.class.php'; |
168 |
$form = new formulaire(NULL, $validation, $maj, $champs); |
169 |
|
170 |
// Parametrage du champ type_mise_a_jour |
171 |
$form->setLib("type_mise_a_jour", _("Date a mettre a jour")."* :"); |
172 |
if(isset($infos)) { |
173 |
$form->setType("type_mise_a_jour", "selecthiddenstatic"); |
174 |
|
175 |
} else { |
176 |
$form->setType("type_mise_a_jour", "select"); |
177 |
|
178 |
} |
179 |
$form->setVal("type_mise_a_jour", $type_mise_a_jour); |
180 |
$contenu = array(); |
181 |
|
182 |
$contenu[0][0] = "date_envoi_signature"; |
183 |
$contenu[1][0] = _("date d'envoi pour signature Mairie/Prefet"); |
184 |
|
185 |
$contenu[0][1] = "date_retour_signature"; |
186 |
$contenu[1][1] = _("date de retour de signature Mairie/Prefet"); |
187 |
|
188 |
$contenu[0][2] = "date_retour_signature;date_envoi_controle_legalite"; |
189 |
$contenu[1][2] = _("date de retour de signature + Envoi controle legalite"); |
190 |
|
191 |
$contenu[0][3] = "date_envoi_controle_legalite"; |
192 |
$contenu[1][3] = _("date d'envoi au controle de legalite"); |
193 |
|
194 |
$contenu[0][4] = "date_retour_controle_legalite"; |
195 |
$contenu[1][4] = _("date de retour de controle de legalite"); |
196 |
|
197 |
$contenu[0][5] = "date_retour_rar"; |
198 |
$contenu[1][5] = _("date de retour de l'AR"); |
199 |
|
200 |
$form->setSelect("type_mise_a_jour", $contenu); |
201 |
|
202 |
// Parametrage du champ date |
203 |
$form->setLib("date", _("Date")."* :"); |
204 |
if(isset($infos)) { |
205 |
$form->setType("date", "hiddenstaticdate"); |
206 |
|
207 |
} else { |
208 |
$form->setType("date", "date"); |
209 |
} |
210 |
$form->setVal("date", $date); |
211 |
$form->setTaille("date", 10); |
212 |
$form->setMax("date", 10); |
213 |
|
214 |
// Parametrage du champ instruction |
215 |
$form->setLib("instruction", _("Instruction")."* :"); |
216 |
if(isset($infos)) { |
217 |
$form->setType("instruction", "hiddenstatic"); |
218 |
} else { |
219 |
$form->setType("instruction", "text"); |
220 |
} |
221 |
$form->setVal("instruction", $instruction); |
222 |
$form->setTaille("instruction", 20); |
223 |
$form->setMax("instruction", 20); |
224 |
|
225 |
// Ajout des infos du dossier correspondantes à l'instruction séléctionnée |
226 |
if(isset($infos)) { |
227 |
|
228 |
// Tous les champs sont défini par defaut à static |
229 |
foreach ($infos as $key => $value) { |
230 |
$form->setType($key, "static"); |
231 |
if(in_array($key, $liste_champs)) { |
232 |
$form->setVal($key, $date); |
233 |
} else { |
234 |
$form->setVal($key, $value); |
235 |
} |
236 |
} |
237 |
|
238 |
// Les champs dont on viens de définir la valeur sont en gras |
239 |
foreach ($liste_champs as $value) { |
240 |
$form->setBloc($value,'DF',"",'bold'); |
241 |
} |
242 |
|
243 |
// Parametrage du champ dossier |
244 |
$form->setLib("dossier", _("Dossier")." :"); |
245 |
$form->setType("dossier", "static"); |
246 |
$form->setVal("dossier", $infos['dossier']); |
247 |
|
248 |
// Parametrage du champ evenement |
249 |
$form->setLib("evenement", _("evenement")." :"); |
250 |
$form->setType("evenement", "static"); |
251 |
$form->setVal("evenement", $infos['evenement']); |
252 |
|
253 |
// Parametrage du champ autorite_competente |
254 |
$form->setLib("autorite_competente", _("Autorite competente")." :"); |
255 |
$form->setType("autorite_competente", "static"); |
256 |
$form->setVal("autorite_competente", $infos['autorite_competente']); |
257 |
|
258 |
// Parametrage des libellés d'envoi avec RAR |
259 |
$form->setLib("date_envoi_rar", _("Envoi RAR")." :"); |
260 |
$form->setLib("date_retour_rar", _("Retour RAR")." :"); |
261 |
|
262 |
// Cofiguration des libellé en fonction du type d'evenement et de l'autorité compétente |
263 |
if($infos['evenement_type'] == 'arrete') { |
264 |
if($infos['autorite_competente_code'] == 'ETAT') { |
265 |
$form->setLib("date_envoi_signature", _("Envoi projet et avis prefet")." :"); |
266 |
$form->setLib("date_retour_signature", _("Retour arrete prefet")." :"); |
267 |
$form->setType("date_envoi_controle_legalite", "hidden"); |
268 |
$form->setType("date_retour_controle_legalite", "hidden"); |
269 |
$form->setType("date_envoi_rar", "hidden"); |
270 |
$form->setType("date_retour_rar", "hidden"); |
271 |
} else{ |
272 |
$form->setLib("date_envoi_signature", _("Envoi signature maire")." :"); |
273 |
$form->setLib("date_retour_signature", _("Retour signature maire")." :"); |
274 |
} |
275 |
$form->setLib("date_envoi_controle_legalite", _("Envoi controle legalite")." :"); |
276 |
$form->setLib("date_retour_controle_legalite", _("Retour controle legalite")." :"); |
277 |
} else { |
278 |
// Si pas arrété même libellés pour toutes les autorités compétentes |
279 |
$form->setLib("date_envoi_signature", _("Envoi visa elu")." :"); |
280 |
$form->setLib("date_retour_signature", _("Retour visa elu")." :"); |
281 |
$form->setLib("date_envoi_controle_legalite", _("Envoi projet prefet")." :"); |
282 |
$form->setLib("date_retour_controle_legalite", _("Retour projet prefet")." :"); |
283 |
$form->setType("date_envoi_rar", "hidden"); |
284 |
$form->setType("date_retour_rar", "hidden"); |
285 |
if($infos['autorite_competente_code'] == 'ETAT') { |
286 |
$form->setType("date_envoi_controle_legalite", "hidden"); |
287 |
$form->setType("date_retour_controle_legalite", "hidden"); |
288 |
} |
289 |
} |
290 |
|
291 |
|
292 |
// Ajout d'un champ hidden permettant de savoir que le formulaire précédant est celui de vérification |
293 |
$form->setLib("is_valid", _("Valid")." :"); |
294 |
$form->setType("is_valid", "hidden"); |
295 |
$form->setVal("is_valid", 'true'); |
296 |
|
297 |
$form->setFieldset('dossier','D',_('Synthese')); |
298 |
$form->setFieldset('is_valid','F'); |
299 |
|
300 |
} |
301 |
|
302 |
|
303 |
// Création du fieldset regroupant les champs permettant la mise à jour des date |
304 |
$form->setFieldset('type_mise_a_jour','D',_('Mise a jour')); |
305 |
$form->setFieldset('instruction','F'); |
306 |
|
307 |
$form->entete(); |
308 |
|
309 |
|
310 |
|
311 |
|
312 |
$form->afficher($champs, $validation, false, false); |
313 |
|
314 |
|
315 |
|
316 |
$form->enpied(); |
317 |
|
318 |
// Affichage du bouton de submit |
319 |
echo "\t<div class=\"formControls\">\n"; |
320 |
echo "\t\t<input type=\"submit\" value=\""._("Valider")."\""; |
321 |
echo " name=\"validation\""; |
322 |
echo " />\n"; |
323 |
|
324 |
// Si pas sur l'écran de validation |
325 |
if(isset($infos)) { |
326 |
echo "<a class=\"retour\" href=\"../app/maj_dates_suivi.php"; |
327 |
echo "?type_mise_a_jour=".$type_mise_a_jour."&date=".$date."&instruction=".$instruction; |
328 |
echo "\">Retour</a>"; |
329 |
} |
330 |
|
331 |
|
332 |
echo "\t</div>\n"; |
333 |
// Fermeture du formulaire |
334 |
echo "\t</form>\n"; |
335 |
|
336 |
// Layout |
337 |
echo "</div>"; |
338 |
echo "</div>"; |
339 |
echo "</div>"; |
340 |
|
341 |
?> |