1 |
// specific openfoncier ======================================================== |
2 |
|
3 |
// Document is ready |
4 |
$(function(){ |
5 |
|
6 |
/** |
7 |
* Spécifique app/avis_code_barre.php pour donner le focus sur le champ de |
8 |
* recherche au chargement de la page. |
9 |
*/ |
10 |
$('#avis_code_barre_form #consultation').focus(); |
11 |
|
12 |
/** |
13 |
* Spécifique app/maj_dates_suivi.php pour donner le focus sur le champ |
14 |
* instruction au chargement de la page si la date n'est pas vide. |
15 |
*/ |
16 |
if($('#maj_dates_form #date').val()!="") { |
17 |
$('#maj_dates_form #instruction').focus(); |
18 |
} |
19 |
}); |
20 |
|
21 |
|
22 |
/** |
23 |
* WIDGET liés au formulaire et sousformulaire |
24 |
* |
25 |
* Ces fonctions javascript sont appelées depuis les méthodes setOnChange, |
26 |
* setOnClick, ... |
27 |
*/ |
28 |
// bible - type httpclick |
29 |
function bible() { |
30 |
if(fenetreouverte==true) |
31 |
pfenetre.close(); |
32 |
var ev=document.f2.evenement.value; |
33 |
var idx=document.f2.dossier.value; |
34 |
pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120"); |
35 |
fenetreouverte=true; |
36 |
} |
37 |
// bible2 - type httpclick |
38 |
function bible2() |
39 |
{ |
40 |
if(fenetreouverte==true) |
41 |
pfenetre.close(); |
42 |
var ev=document.f2.evenement.value; |
43 |
var idx=document.f2.dossier.value; |
44 |
pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120"); |
45 |
fenetreouverte=true; |
46 |
} |
47 |
// bible_auto - type httpclick |
48 |
function bible_auto(){ |
49 |
if(fenetreouverte==true) |
50 |
pfenetre.close(); |
51 |
var ev=document.f2.evenement.value; |
52 |
var idx=document.f2.dossier.value; |
53 |
pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120"); |
54 |
fenetreouverte=true; |
55 |
} |
56 |
// VerifNumdec - type text |
57 |
function VerifNumdec(champ) { |
58 |
champ.value = champ.value.replace(",", "."); // remplacement de la virgule |
59 |
//if (champ.value.lastIndexOf(".") == -1){ // champ decimal |
60 |
if (isNaN(champ.value)) { |
61 |
alert(msg_alert_error_verifnum); |
62 |
champ.value = ""; |
63 |
return; |
64 |
} |
65 |
//} |
66 |
|
67 |
} |
68 |
// Ce widget permet de charger les données d'un select en ajax |
69 |
function changeDataSelect(tableName, linkedField, joker){ |
70 |
var id_dossierAutorisation = $("#dossier_autorisation").val(); |
71 |
var id = $("#"+linkedField).val(); |
72 |
link = "../app/listData.php?idx=" + id + "&tableName=" + tableName + |
73 |
"&linkedField=" + linkedField ; |
74 |
if(id_dossierAutorisation != "") { |
75 |
link += "&nature=EXIST"; |
76 |
} |
77 |
var val_tableName = $('#'+tableName).val(); |
78 |
$.ajax({ |
79 |
type: "GET", |
80 |
url: link, |
81 |
cache: false, |
82 |
dataType: "json", |
83 |
success: function(html){ |
84 |
|
85 |
$('#'+tableName).empty(); |
86 |
var selected = ""; |
87 |
if(val_tableName == "") { |
88 |
selected=' selected="selected"'; |
89 |
} |
90 |
if ( joker == true ) |
91 |
$('#'+tableName).append( |
92 |
'<option value=""'+selected+'>*</option>' |
93 |
); |
94 |
else { |
95 |
$('#'+tableName).append( |
96 |
'<option value=""'+selected+'>Choisir ' + tableName + '</option>' |
97 |
); |
98 |
} |
99 |
if ( html !== '' ){ |
100 |
|
101 |
html = html.split(';'); |
102 |
for ( i = 0 ; i < html.length - 1 ; i++ ){ |
103 |
|
104 |
html_temp = html[i].split('_'); |
105 |
selected = ""; |
106 |
if(val_tableName == html_temp[0]) { |
107 |
selected=' selected="selected"'; |
108 |
} |
109 |
$('#'+tableName).append( |
110 |
'<option value="'+html_temp[0]+'"'+selected+' >'+html_temp[1]+'</option>' |
111 |
); |
112 |
|
113 |
} |
114 |
} |
115 |
}, |
116 |
async: false |
117 |
}); |
118 |
} |
119 |
|
120 |
// Ce widget permet de charger les données de la demande type en ajax |
121 |
function changeDemandeTypeDataSelect(){ |
122 |
// Récupération de l'id du dossier_autorisation_type_detaille |
123 |
var id_datd = $("#dossier_autorisation_type_detaille").val(); |
124 |
|
125 |
// Récupération de la liste des paramètres de l'url |
126 |
var params = extractUrlParams(); |
127 |
if ( typeof params['idx_dossier'] === "undefined" ){ |
128 |
params['idx_dossier'] = ''; |
129 |
} |
130 |
|
131 |
link = "../app/listDemandeType.php?idx=" + params['idx_dossier'] + "&datd="+ id_datd; |
132 |
|
133 |
var val_tableName = $('#demande_type').val(); |
134 |
$.ajax({ |
135 |
type: "GET", |
136 |
url: link, |
137 |
cache: false, |
138 |
dataType: "json", |
139 |
success: function(res){ |
140 |
$('#demande_type').empty(); |
141 |
var selected = ""; |
142 |
|
143 |
for ( j=0 ; j < res[0].length ; j++ ){ |
144 |
|
145 |
$('#demande_type').append( |
146 |
'<option value="'+res[0][j]+'"'+selected+' >'+res[1][j]+'</option>' |
147 |
); |
148 |
|
149 |
} |
150 |
$('#demande_type').val(val_tableName); |
151 |
}, |
152 |
async: false |
153 |
}); |
154 |
} |
155 |
|
156 |
/** |
157 |
* Fonction de récupération des paramètres GET de la page |
158 |
* @return Array Tableau associatif contenant les paramètres GET |
159 |
*/ |
160 |
function extractUrlParams(){ |
161 |
var t = location.search.substring(1).split('&'); |
162 |
var f = []; |
163 |
for (var i=0; i<t.length; i++){ |
164 |
var x = t[ i ].split('='); |
165 |
f[x[0]]=x[1]; |
166 |
} |
167 |
return f; |
168 |
} |
169 |
|
170 |
// vuploadMulti - XXX |
171 |
function vuploadMulti(champ) { |
172 |
// |
173 |
if (fenetreouverte == true) { |
174 |
pfenetre.close(); |
175 |
} |
176 |
// |
177 |
pfenetre = window.open("../spg/upload.php?origine="+champ+"&form="+$('input[name='+champ+']').closest('form').attr('name'),"upload","width=400,height=300,top=120,left=120"); |
178 |
//pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120"); |
179 |
// |
180 |
fenetreouverte = true; |
181 |
} |
182 |
// tmpUpload - Upload XXX |
183 |
function tmpUpload(champ) { |
184 |
// |
185 |
if (fenetreouverte == true) { |
186 |
pfenetre.close(); |
187 |
} |
188 |
// |
189 |
pfenetre = window.open("../app/tmpUpload.php?origine="+champ+"&form="+$('input[name='+champ+']').closest('form').attr('name'),"upload","width=400,height=300,top=120,left=120"); |
190 |
//pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120"); |
191 |
// |
192 |
fenetreouverte = true; |
193 |
} |
194 |
|
195 |
|
196 |
|
197 |
/** |
198 |
* POPUP pour le téléchargement de fichier |
199 |
* |
200 |
* Ces fonctions javascript sont appelées depuis des onClick sur des |
201 |
* formulaires spécifiques pour permettre de transmettre des paramètres aux |
202 |
* éditions pdf ainsi appelées. |
203 |
*/ |
204 |
// |
205 |
function dossierads_d(debut) |
206 |
{ |
207 |
//if(fenetreouverte==true) |
208 |
window.location="../pdf/pdfetat.php?obj=registre_dossiers_decisions_par_type_par_date&nature=" |
209 |
+document.f1.nature.value+"&idx=demo&datedebut=" |
210 |
+document.f1.datedebut.value+"&datefin="+document.f1.datefin.value; |
211 |
} |
212 |
// |
213 |
function dossier_reglementaire(){ |
214 |
|
215 |
$('#bouton-PDF').remove(); |
216 |
$("#msg").html(msg_loading); |
217 |
|
218 |
/*Requete AJAX vers le fichier edition_reglementaire.php pour mettre à jour les dossiers*/ |
219 |
$.ajax({ |
220 |
type: "GET", |
221 |
url: "../app/edition_reglementaire.php?update", |
222 |
cache: false, |
223 |
success: function(html){ |
224 |
|
225 |
$('#msg').html( |
226 |
'<div class="message ui-widget ui-corner-all ui-state-highlight">'+ |
227 |
'<p>'+ |
228 |
'<span class="ui-icon ui-icon-info"></span>'+ |
229 |
'<span class="text">'+ |
230 |
'</span>'+ |
231 |
'</p>'+ |
232 |
'</div>' |
233 |
); |
234 |
|
235 |
if ( html.length > 2 ){ |
236 |
|
237 |
$("#msg .message").addClass("ui-state-error"); |
238 |
$("#msg .text").html(html); |
239 |
} |
240 |
else { |
241 |
|
242 |
$("#msg .message").addClass("ui-state-valid"); |
243 |
$("#msg .text").html("PDF affiche avec succes !"); |
244 |
window.open("../pdf/pdfetat.php?obj=registre_dossiers_affichage_reglementaire&idx=demo"); |
245 |
} |
246 |
}, |
247 |
async: false |
248 |
}); |
249 |
} |
250 |
//Fonction de redirection pour le widget de recherche de dossier |
251 |
function widget_recherche_dossier(data,nbRes){ |
252 |
/*$('#msg').show(); |
253 |
$('#msg').html(msg_loading);*/ |
254 |
|
255 |
// S'il n'y a qu'un seul résultat, afficher un résumé |
256 |
if ( nbRes == 1 ){ |
257 |
|
258 |
window.location = "../scr/form.php?obj=dossier_instruction&action=3&" + |
259 |
"idx=" + data + "&premier=0&advs_id=&recherche=&tricol=&" + |
260 |
"selectioncol=&valide=&retour=tab"; |
261 |
} |
262 |
// S'il y a une liste de dossier, redirection vers le tableau |
263 |
else { |
264 |
|
265 |
window.location = "../scr/tab.php?obj=recherche_direct&selectioncol=0&recherche=" + data; |
266 |
} |
267 |
} |
268 |
// |
269 |
function dossierdepot() |
270 |
{ |
271 |
//if(fenetreouverte==true) |
272 |
window.location="../pdf/pdfetat.php?obj=registre_dossiers_depots_par_type_par_date&nature="+ |
273 |
document.f1.nature.value+"&idx=demo&datedebut="+ |
274 |
document.f1.datedebut.value+"&datefin="+document.f1.datefin.value; |
275 |
} |
276 |
// |
277 |
function dossierads() |
278 |
{ |
279 |
//if(fenetreouverte==true) |
280 |
window.location="../pdf/pdfetat.php?obj=registre_dossiers_par_type_par_date&nature="+ |
281 |
document.f1.nature.value+"&idx=demo&datedebut="+ |
282 |
document.f1.datedebut.value+"&datefin="+document.f1.datefin.value; |
283 |
} |
284 |
|
285 |
// téléchargement du fichier |
286 |
function file(fichier) { |
287 |
// |
288 |
if (fichier == "") { |
289 |
alert("zone vide"); |
290 |
} |
291 |
// |
292 |
pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes"); |
293 |
// |
294 |
fenetreouverte = true; |
295 |
} |
296 |
|
297 |
/** |
298 |
* Retour spécifique de l'écran de consultation multiple - surcharge de ajaxIt |
299 |
* @todo XXX voir les différences avec ajaxIt et si il n'est pas possible |
300 |
* d'effectuer la modification dans le core |
301 |
*/ |
302 |
function messageIt(objsf, link, empty) { |
303 |
// recuperation du terme recherche |
304 |
var recherche = document.getElementById("recherchedyn"); |
305 |
if (recherche != null) { |
306 |
link += "&recherche="+recherche.value; |
307 |
}else { |
308 |
link += "&recherche="; |
309 |
} |
310 |
// execution de la requete en GET |
311 |
$.ajax({ |
312 |
type: "GET", |
313 |
url: link, |
314 |
cache: false, |
315 |
success: function(html){ |
316 |
(empty == true )?$("#sousform-"+objsf).empty():''; |
317 |
$("#sousform-"+objsf).append(html); |
318 |
om_initialize_content(); |
319 |
}, |
320 |
async: false |
321 |
}); |
322 |
} |
323 |
|
324 |
/** |
325 |
* TTélécharegement de fichier pdf en ajax |
326 |
* spécifique de l'écran de consultation multiple |
327 |
*/ |
328 |
/* Plugin jQuery qui lance un espèce d'appel AJAX vers un script PHP de téléchargement de fichier*/ |
329 |
jQuery.download = function(url, data, method){ |
330 |
//url and data options required |
331 |
if( url && data ){ |
332 |
//data can be string of parameters or array/object |
333 |
data = typeof data == 'string' ? data : jQuery.param(data); |
334 |
//split params into form inputs |
335 |
var inputs = ''; |
336 |
jQuery.each(data.split('&'), function(){ |
337 |
var pair = this.split('='); |
338 |
inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; |
339 |
}); |
340 |
//send request |
341 |
jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>') |
342 |
.prependTo('body').submit().remove(); |
343 |
}; |
344 |
}; |
345 |
|
346 |
/** |
347 |
* Cette fonction permet de charger dans un dialog jqueryui un formulaire tel |
348 |
* qu'il aurait été chargé avec ajaxIt |
349 |
* |
350 |
* @param objsf string : objet de sousformulaire |
351 |
* @param link string : lien vers un sousformulaire (../scr/sousform.php...) |
352 |
* @param width integer: width en px |
353 |
* @param height integer: height en px |
354 |
* @param callback function (optionel) : nom de la méthode à appeler |
355 |
* à la fermeture du dialog |
356 |
* @param callbackParams mixed (optionel) : paramètre à traiter dans la function |
357 |
* callback |
358 |
* |
359 |
**/ |
360 |
function popupIt(objsf, link, width, height, callback, callbackParams) { |
361 |
// Insertion du conteneur du dialog |
362 |
var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('#tabs-1 .formControls'); |
363 |
$('<input type=\"text\" name=\"recherchedyn\" id=\"recherchedyn\" value=\"\" class=\"champFormulaire\" style=\"display:none\" />').insertAfter('#sousform-'+objsf); |
364 |
|
365 |
// execution de la requete passee en parametre |
366 |
// (idem ajaxIt + callback) |
367 |
$.ajax({ |
368 |
type: "GET", |
369 |
url: link, |
370 |
cache: false, |
371 |
success: function(html){ |
372 |
//Suppression d'un precedent dialog |
373 |
dialog.empty(); |
374 |
//Ajout du contenu recupere |
375 |
dialog.append(html); |
376 |
//Initialisation du theme OM |
377 |
om_initialize_content(); |
378 |
//Creation du dialog |
379 |
$(dialog).dialog({ |
380 |
//OnClose suppression du contenu |
381 |
close: function(ev, ui) { |
382 |
// Si le formulaire est submit et valide on execute la méthode |
383 |
// passée en paramètre |
384 |
if (typeof(callback) === "function") { |
385 |
callback(callbackParams); |
386 |
} |
387 |
$(this).remove(); |
388 |
}, |
389 |
resizable: false, |
390 |
modal: true, |
391 |
width: width, |
392 |
height: height, |
393 |
position: 'center', |
394 |
}); |
395 |
}, |
396 |
async : false |
397 |
}); |
398 |
//Fermeture du dialog lors d'un clic sur le bouton retour |
399 |
$('#sousform-'+objsf).on("click",'a.retour',function() { |
400 |
$(dialog).dialog('close').remove(); |
401 |
return false; |
402 |
}); |
403 |
} |
404 |
|
405 |
/*** |
406 |
* Fonction getter des paramètres de l'url courante |
407 |
*/ |
408 |
// Parse URL Queries Method |
409 |
(function($){ |
410 |
$.getQuery = function( query ) { |
411 |
query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); |
412 |
var expr = "[\\?&]"+query+"=([^&#]*)"; |
413 |
var regex = new RegExp( expr ); |
414 |
var results = regex.exec( window.location.href ); |
415 |
if( results !== null ) { |
416 |
return results[1]; |
417 |
return decodeURIComponent(results[1].replace(/\+/g, " ")); |
418 |
} else { |
419 |
return false; |
420 |
} |
421 |
}; |
422 |
})(jQuery); |
423 |
|
424 |
|
425 |
/* |
426 |
* Javascript concernant la demande d'avis |
427 |
* |
428 |
* |
429 |
*/ |
430 |
|
431 |
/** |
432 |
* Fonction de callback appellée lors de la fermeture du dialog (popupit) |
433 |
* du retour d'avis d'un service |
434 |
**/ |
435 |
function returnToTab(objsf) { |
436 |
var valid=$('#sousform-'+objsf+' div.ui-state-valid'); |
437 |
if(valid.length > 0) { |
438 |
document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier') |
439 |
+"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol') |
440 |
+"&selectioncol="+$.getQuery('selectioncol'); |
441 |
} |
442 |
}; |
443 |
|
444 |
|
445 |
/* |
446 |
* Javascript concernant la demande |
447 |
* |
448 |
* |
449 |
*/ |
450 |
|
451 |
/** |
452 |
* Fonction permettant de mettre à jour les infos du demandeur |
453 |
**/ |
454 |
function getDemandeurId(type) { |
455 |
var id_demandeur=$('#id_retour').val(); |
456 |
if($.isNumeric(id_demandeur)) { |
457 |
afficherDemandeur(id_demandeur,type); |
458 |
om_initialize_content(); |
459 |
} |
460 |
} |
461 |
|
462 |
/** |
463 |
* Fonction permettant d'afficher la synthèse d'un demandeur |
464 |
*/ |
465 |
function afficherDemandeur(id,type) { |
466 |
$.ajax({ |
467 |
type: "GET", |
468 |
url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+id+'&type='+type, |
469 |
cache: false, |
470 |
success: function(html){ |
471 |
$(html).insertBefore('#add_'+type).fadeIn(500); |
472 |
|
473 |
}, |
474 |
async:false |
475 |
}); |
476 |
affichageBoutonsDemandeurs(); |
477 |
} |
478 |
|
479 |
/** |
480 |
* Fonction permettant de modifier un demandeur |
481 |
*/ |
482 |
function editDemandeur(obj,id,type,id_css) { |
483 |
var url = '../scr/sousform.php?obj='+obj+'&retourformulaire=demande'; |
484 |
if(getDemandeInfo('type') == 'DM') { |
485 |
url += '&action=0&idx_demandeur='+id; |
486 |
} else { |
487 |
url += '&action=1&idx='+id; |
488 |
} |
489 |
popupIt(obj, url, 860, 'auto', |
490 |
replaceDemandeur, {'type':type,'id': id, 'id_css':id_css}); |
491 |
affichageBoutonsDemandeurs(); |
492 |
} |
493 |
|
494 |
/** |
495 |
* Function permettant de remplacer un contenu déjà existant |
496 |
**/ |
497 |
function replaceDemandeur(obj) { |
498 |
var new_demandeur=$('#id_retour').val(); |
499 |
if($.isNumeric(new_demandeur)) { |
500 |
$.ajax({ |
501 |
type: "GET", |
502 |
url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+new_demandeur+'&type='+obj.type, |
503 |
cache: false, |
504 |
success: function(html){ |
505 |
$(obj.id_css).replaceWith(html); |
506 |
} |
507 |
}); |
508 |
} |
509 |
} |
510 |
/** |
511 |
* Function permettant de remplacer un contenu déjà existant |
512 |
**/ |
513 |
function removeDemandeur(id) { |
514 |
var div_class=$('#'+id).attr("class"); |
515 |
$('#'+id).remove(); |
516 |
if(div_class == "delegataire") { |
517 |
$('#add_delegataire').fadeIn(500); |
518 |
} |
519 |
affichageBoutonsDemandeurs(); |
520 |
} |
521 |
|
522 |
/** |
523 |
* Fonction permettant d'afficher et cacher les boutons d'ajout de demandeurs |
524 |
*/ |
525 |
function affichageBoutonsDemandeurs(){ |
526 |
|
527 |
// Si formulaire après validation on cache les boutons d'ajout de demandeurs |
528 |
url = document.location + "" ; |
529 |
|
530 |
if ((url.indexOf("form.php?obj=demande&") != -1 |
531 |
|| url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1 |
532 |
|| url.indexOf("form.php?obj=demande_dossier_existant&") != -1) |
533 |
&& $("form[name=f1] .form-is-valid").size() > 0 ) { |
534 |
|
535 |
$('#add_petitionnaire_principal').hide(); |
536 |
$('#add_delegataire').hide(); |
537 |
if($('input[name=delegataire][type=hidden]').size() == 0) { |
538 |
$('#delegataire').hide(); |
539 |
} |
540 |
$('#add_petitionnaire').hide(); |
541 |
|
542 |
} else { |
543 |
|
544 |
// Affichage du bouton d'ajout du petitionnaire principal |
545 |
if($('input[name=petitionnaire_principal][type=hidden]').size() == 1) { |
546 |
$('#add_petitionnaire_principal').hide(); |
547 |
} else { |
548 |
$('#add_petitionnaire_principal').fadeIn(500); |
549 |
} |
550 |
|
551 |
// Affichage du bouton d'ajout du delegataire |
552 |
if($('input[name=petitionnaire_principal][type=hidden]').size() == 1 |
553 |
|| $('input[name=delegataire][type=hidden]').size() == 1) { |
554 |
$('#delegataire').fadeIn(500); |
555 |
if($('input[name=delegataire][type=hidden]').size() == 0) { |
556 |
$('#add_delegataire').fadeIn(500); |
557 |
} else { |
558 |
$('#add_delegataire').hide(); |
559 |
} |
560 |
} else { |
561 |
$('#delegataire').hide(); |
562 |
} |
563 |
|
564 |
// Affichage du bouton d'ajout de petitionnaires |
565 |
if($('input[name=petitionnaire_principal][type=hidden]').size() == 0) { |
566 |
$('#add_petitionnaire').hide(); |
567 |
} else { |
568 |
$('#add_petitionnaire').fadeIn(500); |
569 |
} |
570 |
} |
571 |
} |
572 |
|
573 |
/** |
574 |
* Appel au chargement de la page |
575 |
**/ |
576 |
$(function() { |
577 |
changeDemandeurType('qualite'); |
578 |
if ( $('#type_demandeur') == 'petitionnaire' ){ |
579 |
|
580 |
addSearchIcon(); |
581 |
addDivDialog('.bloc_demandeur'); |
582 |
} |
583 |
affichageBoutonsDemandeurs(); |
584 |
// Bind de la fonction permettant l'ajout du pétitionnaire principal |
585 |
$("#formulaire").on("click","#add_petitionnaire_principal", function() { |
586 |
popupIt('petitionnaire', |
587 |
'../scr/sousform.php?obj=petitionnaire&action=0'+ |
588 |
'&retourformulaire=demande&principal=true', 860, 'auto', |
589 |
getDemandeurId, 'petitionnaire_principal'); |
590 |
}); |
591 |
// Bind de la fonction permettant l'ajout du délégataire |
592 |
$("#formulaire").on("click","#add_delegataire", function(event) { |
593 |
popupIt('delegataire', |
594 |
'../scr/sousform.php?obj=delegataire&action=0'+ |
595 |
'&retourformulaire=demande', 860, 'auto', |
596 |
getDemandeurId, 'delegataire'); |
597 |
}); |
598 |
// Bind de la fonction permettant l'ajout des pétitionnaires |
599 |
$("#formulaire").on("click","#add_petitionnaire", function(event) { |
600 |
popupIt('petitionnaire', |
601 |
'../scr/sousform.php?obj=petitionnaire&action=0'+ |
602 |
'&retourformulaire=demande', 860, 'auto', |
603 |
getDemandeurId, 'petitionnaire'); |
604 |
}); |
605 |
|
606 |
url = document.location + "" ; |
607 |
if (( |
608 |
url.indexOf("form.php?obj=demande&") != -1 || |
609 |
url.indexOf("form.php?obj=dossier&") != -1 || |
610 |
url.indexOf("form.php?obj=dossier_instruction&") != -1 |
611 |
) |
612 |
&& url.indexOf("&action=3") == -1) { |
613 |
|
614 |
formatFieldReferenceCadastrale(); |
615 |
} |
616 |
|
617 |
if (url.indexOf("form.php?obj=demande&") != -1 |
618 |
&& (url.indexOf("&action=3") == -1 |
619 |
&& url.indexOf("&action=2") == -1 |
620 |
&& $(".form-is-valid").size() == 0)) { |
621 |
|
622 |
addButtonCadastraleAdesse(); |
623 |
changeDemandeType(); |
624 |
} |
625 |
|
626 |
// Ajout de demande |
627 |
if ((url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1 |
628 |
|| url.indexOf("form.php?obj=demande_dossier_existant&") != -1) |
629 |
&& url.indexOf("&action=0") != -1 ){ |
630 |
|
631 |
/*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/ |
632 |
hideFields(); |
633 |
} |
634 |
|
635 |
// Ajout de demande sur dossier existant |
636 |
if (url.indexOf("form.php?obj=demande_dossier_existant&") != -1 |
637 |
&& url.indexOf("&action=0") != -1 ){ |
638 |
|
639 |
/*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/ |
640 |
hideFields(); |
641 |
changeDemandeType(); |
642 |
} |
643 |
|
644 |
// Modification de demande |
645 |
if ( |
646 |
( |
647 |
url.indexOf("form.php?obj=demande&") != -1 |
648 |
|| url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1 |
649 |
|| url.indexOf("form.php?obj=demande_dossier_existant&") != -1 |
650 |
) |
651 |
&& url.indexOf("&action") == -1 |
652 |
){ |
653 |
|
654 |
formatFieldReferenceCadastrale(); |
655 |
} |
656 |
|
657 |
//Gestion de la commission |
658 |
$( "#tabs" ).tabs(); |
659 |
|
660 |
// Affichage du tableau des dossier_commission au clique |
661 |
$("#dossier_planifie").click(function() { |
662 |
|
663 |
var params = extractUrlParams(); |
664 |
idx = params['idx']; |
665 |
|
666 |
ajaxIt( |
667 |
'dossier_commission', |
668 |
'../scr/soustab.php?obj=dossier_commission&idxformulaire='+ |
669 |
idx + |
670 |
'&retourformulaire=commission'); |
671 |
}); |
672 |
|
673 |
// Affichage du tableau des dossier_commission posssible au clique |
674 |
$('#commission_dossiers_plannifier_retirer').click( |
675 |
function(){ |
676 |
|
677 |
var params = extractUrlParams(); |
678 |
idx = params['idx']; |
679 |
|
680 |
$('#tabs-2').empty(); |
681 |
ajouterTableauDossierCommissionPossible(idx); |
682 |
} |
683 |
); |
684 |
|
685 |
//Suppression du message et des données dans le champ dossier |
686 |
$('#commission_dossiers_plannifier_numero').click( |
687 |
function(){ |
688 |
|
689 |
$('#tabs-3 .message').remove(); |
690 |
$('#tabs-3 #dossier').val(""); |
691 |
} |
692 |
); |
693 |
}); |
694 |
|
695 |
/* |
696 |
* Action sur les champs pour les références cadastrales |
697 |
*/ |
698 |
function formatFieldReferenceCadastrale(){ |
699 |
|
700 |
addNewFieldReferencesCadastrales(); |
701 |
$('#terrain_references_cadastrales').parent().parent().hide(); |
702 |
|
703 |
url = document.location + ""; |
704 |
|
705 |
reference_cadastrale = $('#terrain_references_cadastrales').val(); |
706 |
/*Formatage de la reference cadastrale*/ |
707 |
if ( reference_cadastrale != '' ){ |
708 |
|
709 |
/* Récupère la référence cadastrale non formatée */ |
710 |
references_cadastrales = reference_cadastrale.split(';'); |
711 |
donnees = new Array(); |
712 |
|
713 |
i = 0 ; |
714 |
/* Boucle sur les références, elles étaient séparées par un ; */ |
715 |
for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){ |
716 |
|
717 |
/*Récupère le code impots du qartier [CHIFFRES]*/ |
718 |
k = 0; |
719 |
donnees[i] = ''; |
720 |
for ( j = k ; j < references_cadastrales[l].length ; j++ ){ |
721 |
|
722 |
if ( references_cadastrales[l].charAt(j) >= 0 && |
723 |
references_cadastrales[l].charAt(j) <= 9 ){ |
724 |
|
725 |
donnees[i] += references_cadastrales[l].charAt(j); |
726 |
k++; |
727 |
|
728 |
} else { |
729 |
|
730 |
i++; |
731 |
break; |
732 |
} |
733 |
} |
734 |
|
735 |
/* Récupère la section [LETTRES] */ |
736 |
donnees[i] = ''; |
737 |
for ( j = k ; j < references_cadastrales[l].length ; j++ ) |
738 |
if ( isAlpha(references_cadastrales[l].charAt(j)) ){ |
739 |
|
740 |
donnees[i] += references_cadastrales[l].charAt(j); |
741 |
k++; |
742 |
|
743 |
} else { |
744 |
|
745 |
i++; |
746 |
break; |
747 |
} |
748 |
|
749 |
/* Récupère la parcelle [CHIFFRES] */ |
750 |
donnees[i] = ''; |
751 |
for ( j = k ; j < references_cadastrales[l].length ; j++ ) |
752 |
if ( references_cadastrales[l].charAt(j) >= 0 && |
753 |
references_cadastrales[l].charAt(j) <= 9 ){ |
754 |
|
755 |
donnees[i] += references_cadastrales[l].charAt(j); |
756 |
k++; |
757 |
|
758 |
} else { |
759 |
|
760 |
break; |
761 |
} |
762 |
|
763 |
/* Récupère les séparateurs [ A / ] et les sections */ |
764 |
m = 0 ; // Nombre de suffixe |
765 |
if ( k < references_cadastrales[l].length ){ |
766 |
|
767 |
for ( j = k ; j < references_cadastrales[l].length ; j++ ) |
768 |
if ( isAlpha(references_cadastrales[l].charAt(j)) ){ |
769 |
|
770 |
m++; |
771 |
donnees[++i] = references_cadastrales[l].charAt(j); |
772 |
donnees[++i] = ''; |
773 |
} |
774 |
else { |
775 |
|
776 |
donnees[i] += references_cadastrales[l].charAt(j); |
777 |
} |
778 |
} |
779 |
|
780 |
/*Créé autant de champs de que de référence */ |
781 |
donnees[++i] = ';'; |
782 |
i++; |
783 |
|
784 |
if ( l > 0 ) { |
785 |
|
786 |
$('.reference_cadastrale_custom_fields').append( |
787 |
"<br/>" + fieldReferenceCadastraleBase() |
788 |
); |
789 |
} |
790 |
|
791 |
actionFormReferenceCadastrale(); |
792 |
|
793 |
if ( m > 0 ){ |
794 |
|
795 |
for ( j = 0 ; j < m ; j++ ){ |
796 |
|
797 |
$('#moreFieldReferenceCadastrale' + |
798 |
( $('.moreFieldReferenceCadastrale').length - 1 ) ). |
799 |
before( |
800 |
newInputReferenceCadastrale() |
801 |
); |
802 |
} |
803 |
} |
804 |
} |
805 |
/* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter |
806 |
* d'autres lignes] */ |
807 |
actionLineFormReferenceCadastrale(); |
808 |
|
809 |
/* Ajoute les données dans les champs nouvellement créés */ |
810 |
$('.reference_cadastrale_custom_field').each( |
811 |
function(index) { |
812 |
|
813 |
$(this).val(donnees[index]) |
814 |
} |
815 |
); |
816 |
} |
817 |
else{ |
818 |
actionFormReferenceCadastrale(); |
819 |
actionLineFormReferenceCadastrale(); |
820 |
} |
821 |
} |
822 |
|
823 |
/* |
824 |
* Ajoute les icônes pour la recherche de pétitionnaire fréquent. |
825 |
*/ |
826 |
function addSearchIcon(){ |
827 |
|
828 |
$("#form-content:not(.form-is-valid) .search_particulier_fields,"+ |
829 |
"#form-content:not(.form-is-valid) .search_personne_morale_fields").each(function() { |
830 |
/*Ajout de l'icône après le champs dénomination et nom de la personne morale*/ |
831 |
|
832 |
$(this). |
833 |
append( |
834 |
'<span '+ |
835 |
'class="om-icon om-icon-16 om-icon-fix search-petitionnaire-16" '+ |
836 |
'title="Chercher un petitionnaire"> '+ |
837 |
'</span>'+ |
838 |
'<span '+ |
839 |
'class="om-icon om-icon-16 om-icon-fix erase-petitionnaire delete-16" '+ |
840 |
'title="Supprimer le contenu"> '+ |
841 |
'</span>' |
842 |
); |
843 |
} |
844 |
); |
845 |
|
846 |
/*Ajout des actions sur les boutons*/ |
847 |
addActionSearchIcon('#sousform-petitionnaire #form-content'); |
848 |
addActionRemove(); |
849 |
|
850 |
} |
851 |
|
852 |
/** |
853 |
* Fonction permettant de revenir sur le formulaire d'ajout de demandeur |
854 |
**/ |
855 |
function addActionRemove(){ |
856 |
$('.erase-petitionnaire').click( |
857 |
function(){ |
858 |
ajaxIt('petitionnaire','../scr/sousform.php?obj=petitionnaire&action=0'); |
859 |
}); |
860 |
} |
861 |
|
862 |
/* |
863 |
* Ajoute les actions sur les icônes de recherche |
864 |
*/ |
865 |
function addActionSearchIcon(id){ |
866 |
|
867 |
/*Si on recherche un pétitionnaire de type particulier*/ |
868 |
$('.search-petitionnaire-16').click( |
869 |
function(){ |
870 |
|
871 |
/*Le champ nom du particulier doit contenir au moins trois lettres*/ |
872 |
if ( $('#particulier_nom').val().length < 3 && |
873 |
$('#particulier_prenom').val().length < 3 && |
874 |
$('#personne_morale_denomination').val().length < 3 && |
875 |
$('#personne_morale_nom').val().length < 3 ){ |
876 |
|
877 |
alert('Saisissez au moins trois lettres pour la recherche'); |
878 |
return; |
879 |
} |
880 |
|
881 |
/*Données des champs nom et prénom du particulier*/ |
882 |
var donnees = "?par_nom=" + $('.search_particulier_fields #particulier_nom').val() + |
883 |
"&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val() + |
884 |
"&mor_denomination="+$('#personne_morale_denomination').val() + |
885 |
"&mor_nom="+$('#personne_morale_nom').val(); |
886 |
|
887 |
/* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s) |
888 |
* correspondant(s) à la recherche */ |
889 |
$.ajax({ |
890 |
type: "GET", |
891 |
url: "../app/findPetitionnaire.php" + donnees , |
892 |
cache: false, |
893 |
success: function(obj){ |
894 |
var freq = $.parseJSON(obj); |
895 |
var res=''; |
896 |
/*Si la recherche a donné des résultats*/ |
897 |
if ( freq.length > 0 ){ |
898 |
/*Limitation des résultats à 50 */ |
899 |
if ( freq.length > 50 ){ |
900 |
|
901 |
nbRes = 50; |
902 |
res += 'Votre recherche a donné ' + freq.length |
903 |
+ ' résultats. Seul les cinquantes premiers ' + |
904 |
'seront affichés.<br/>'; |
905 |
} else { |
906 |
nbRes = freq.length; |
907 |
} |
908 |
|
909 |
res += '<select>' ; |
910 |
|
911 |
/* Met les résultats de la recherche dans un select */ |
912 |
for ( i = 0 ; i < nbRes ; i++ ){ |
913 |
res += '<option value="' + freq[i].value + '">' + |
914 |
freq[i].content + |
915 |
'</option>'; |
916 |
} |
917 |
|
918 |
res += '</select>'; |
919 |
} else { |
920 |
res += 'Aucune correspondance trouvée.'; |
921 |
} |
922 |
|
923 |
/* Affichage de l'overlay */ |
924 |
$('#dialog').html(res); |
925 |
|
926 |
$( "#dialog" ).dialog({ |
927 |
modal: true, |
928 |
buttons : { |
929 |
Valider: function(){ |
930 |
if ( res != 'Auncune correspondance trouvée.'){ |
931 |
|
932 |
} |
933 |
var id = $('#dialog select option:selected').val(); |
934 |
if($.isNumeric(id)) { |
935 |
ajaxIt('petitionnaire', |
936 |
'../scr/sousform.php?obj=petitionnaire&action=1&retourformulaire=demande&idx='+id); |
937 |
} |
938 |
// Fermeture de l'overlay |
939 |
$(this).dialog( "close" ).empty(); |
940 |
} |
941 |
} |
942 |
}); |
943 |
}, |
944 |
}); |
945 |
} |
946 |
); |
947 |
} |
948 |
|
949 |
/* |
950 |
* Ajoute un div pour l'overlay dialog de jQuery |
951 |
*/ |
952 |
function addDivDialog(id){ |
953 |
|
954 |
$(id).prepend('<div id="dialog"></div>'); |
955 |
} |
956 |
|
957 |
/* |
958 |
Action au changement du select de la qualite du demandeur |
959 |
* */ |
960 |
function changeDemandeurType(id){ |
961 |
|
962 |
/*Réinitialise les champs et cache les champs inutiles selon la qualité du demandeur*/ |
963 |
/*Si la qualite du demandeur est particulier */ |
964 |
if ( $('#' + id ).val() == 'particulier' ){ |
965 |
|
966 |
$('.personne_morale_fields input').each( |
967 |
function(){ |
968 |
$(this).val(''); |
969 |
} |
970 |
); |
971 |
$('.personne_morale_fields select option[value=""]').each( |
972 |
function(){ |
973 |
$(this).attr('selected', 'selected'); |
974 |
} |
975 |
); |
976 |
|
977 |
$('.personne_morale_fields').hide(); |
978 |
$('.particulier_fields').show(); |
979 |
} |
980 |
/*Si c'est une personne morale*/ |
981 |
else { |
982 |
|
983 |
$('.particulier_fields input').each( |
984 |
function(){ |
985 |
$(this).val(''); |
986 |
} |
987 |
); |
988 |
$('.particulier_fields select option[value=""]').each( |
989 |
function(){ |
990 |
$(this).attr('selected', 'selected'); |
991 |
} |
992 |
); |
993 |
|
994 |
$('.particulier_fields').hide(); |
995 |
$('.personne_morale_fields').show(); |
996 |
} |
997 |
} |
998 |
|
999 |
/* |
1000 |
Fonction de test des champs |
1001 |
* */ |
1002 |
function isAlpha(str) { |
1003 |
return /^[a-zA-Z\/]+$/.test(str); |
1004 |
} |
1005 |
|
1006 |
function isMail(str){ |
1007 |
return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str); |
1008 |
} |
1009 |
|
1010 |
function isPhoneNumber(str){ |
1011 |
return /[0-9-()+]{3,20}/.test(str); |
1012 |
} |
1013 |
|
1014 |
function testSeparator(obj){ |
1015 |
|
1016 |
if ( obj.value != 'A' && |
1017 |
obj.value != '/' ) { |
1018 |
|
1019 |
alert('Saisissez uniquement un A ou un / comme séparateur'); |
1020 |
obj.value = ''; |
1021 |
} |
1022 |
} |
1023 |
/* Fin fonction test */ |
1024 |
|
1025 |
/* |
1026 |
* Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de |
1027 |
* référence cadastrale |
1028 |
*/ |
1029 |
function actionFormReferenceCadastrale(){ |
1030 |
|
1031 |
$('form').submit( |
1032 |
function(){ |
1033 |
|
1034 |
getDataFieldReferenceCadastrale(); |
1035 |
} |
1036 |
); |
1037 |
if( $("form[name=f1] .form-is-valid").size() == 0) { |
1038 |
|
1039 |
$('#moreFieldReferenceCadastrale' + |
1040 |
($('.moreFieldReferenceCadastrale').length - 1 )). |
1041 |
on("click", function() { |
1042 |
|
1043 |
$(this).before(newInputReferenceCadastrale()); |
1044 |
}); |
1045 |
} |
1046 |
|
1047 |
} |
1048 |
|
1049 |
/* |
1050 |
* Récupère les données saisies dans les champs de références cadastrales |
1051 |
*/ |
1052 |
function getDataFieldReferenceCadastrale(){ |
1053 |
|
1054 |
var reference_cadastrale = ''; |
1055 |
var reference_cadastrale_temp = ''; |
1056 |
|
1057 |
/*Pour chacun des champs du formulaire de saisie de référence cadastrale*/ |
1058 |
$('.reference_cadastrale_custom_field').each( |
1059 |
function(){ |
1060 |
|
1061 |
/*Si on est à la fin d'une ligne de champs*/ |
1062 |
if ( $(this).val() == ';' ){ |
1063 |
|
1064 |
reference_cadastrale_bis = reference_cadastrale_temp ; |
1065 |
|
1066 |
/* Vérifie que les données sont correctement formatées avant de |
1067 |
* les ajouter au résultat*/ |
1068 |
while( reference_cadastrale_bis != ''){ |
1069 |
if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*)*$/.test(reference_cadastrale_bis) ){ |
1070 |
|
1071 |
reference_cadastrale += reference_cadastrale_bis + ";"; |
1072 |
break; |
1073 |
} |
1074 |
else{ |
1075 |
|
1076 |
reference_cadastrale_bis = reference_cadastrale_bis.slice( 0, -1); |
1077 |
} |
1078 |
} |
1079 |
|
1080 |
reference_cadastrale_temp = ''; |
1081 |
} |
1082 |
|
1083 |
else { |
1084 |
|
1085 |
/*Sinon, on récupère la valeur du champ*/ |
1086 |
reference_cadastrale_temp += $(this).val(); |
1087 |
} |
1088 |
} |
1089 |
); |
1090 |
|
1091 |
/*Met la valeur du résultat dans le champs généré par le framework*/ |
1092 |
$('#terrain_references_cadastrales').val(reference_cadastrale); |
1093 |
} |
1094 |
|
1095 |
/* |
1096 |
Action pour l'ajout de nouvelle ligne dans le formulaire d'ajout |
1097 |
de référence cadastrale |
1098 |
* */ |
1099 |
function actionLineFormReferenceCadastrale(){ |
1100 |
if( $("form[name=f1] .form-is-valid").size() == 0) { |
1101 |
|
1102 |
$('#morelineReferenceCadastrale').click( |
1103 |
function(){ |
1104 |
|
1105 |
/*Ajout des trois champs de base*/ |
1106 |
$('.reference_cadastrale_custom_fields'). |
1107 |
append( "<br/>" + fieldReferenceCadastraleBase()); |
1108 |
|
1109 |
/*Ajout du bind pour l'ajout de nouveaux champs*/ |
1110 |
$('#moreFieldReferenceCadastrale'+ |
1111 |
($('.moreFieldReferenceCadastrale').length - 1 )). |
1112 |
on("click", function() { |
1113 |
$(this).before(newInputReferenceCadastrale()); |
1114 |
}); |
1115 |
} |
1116 |
); |
1117 |
} |
1118 |
} |
1119 |
|
1120 |
/* |
1121 |
Met à jour le select demande_type dès qu'un |
1122 |
dossier_autorisation_type_detaille est choisi |
1123 |
* */ |
1124 |
function changeDemandeType(){ |
1125 |
|
1126 |
var idDossierAutorisationTypeDetaille = |
1127 |
$("#dossier_autorisation_type_detaille").val(); |
1128 |
|
1129 |
/* Récupère les données saisies dans les champs pour la référence cadastrale */ |
1130 |
getDataFieldReferenceCadastrale(); |
1131 |
|
1132 |
/*Si l'identifiant fourni est correct*/ |
1133 |
if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){ |
1134 |
|
1135 |
/*Met à jour le select de demande_type avec les données correspondant*/ |
1136 |
changeDemandeTypeDataSelect(); |
1137 |
if ( $('#demande_type option').size() < 2 ) { |
1138 |
showFormsDemande(); |
1139 |
} |
1140 |
|
1141 |
/*Affiche le select*/ |
1142 |
$('#demande_type').parent().parent().show(); |
1143 |
if($('#demande_type').val() == '' ) { |
1144 |
$('.demande_hidden_bloc').each( |
1145 |
function(){ |
1146 |
$(this).hide(); |
1147 |
} |
1148 |
); |
1149 |
$('input[type=submit]').hide(); |
1150 |
} |
1151 |
} |
1152 |
else { |
1153 |
|
1154 |
/*Sinon, cache tous les champs du formulaire*/ |
1155 |
hideFields(); |
1156 |
} |
1157 |
} |
1158 |
|
1159 |
/* |
1160 |
Ajoute le code HTML des champs pour les références cadastrales |
1161 |
* */ |
1162 |
function addNewFieldReferencesCadastrales(){ |
1163 |
|
1164 |
var html = '<div class="field field-type-text references_cadastrales_new_field" >'+ |
1165 |
'<div class="form-libelle">' + |
1166 |
'<label '+ |
1167 |
'class="libelle-terrain_references_cadastrales" '+ |
1168 |
'for="terrain_references_cadastrales">'+ |
1169 |
' terrain_references_cadastrales '+ |
1170 |
'</label>' + |
1171 |
'</div>' + |
1172 |
'<div class="form-content reference_cadastrale_custom_fields">' + |
1173 |
fieldReferenceCadastraleBase() + |
1174 |
'</div>' + |
1175 |
'</div>'; |
1176 |
|
1177 |
url = document.location + ""; |
1178 |
if((getDemandeInfo('nature') == 'NOUV' || getDemandeInfo('nature') == 'NONE' ) && $(".form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) { |
1179 |
html += '<div class="field field-type-text" id="morelineReferenceCadastrale">' + |
1180 |
'<div class="form-libelle"></div>' + |
1181 |
'<div class="form-content">' + |
1182 |
'<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres lignes</span>' + |
1183 |
'</div>' + |
1184 |
'</div>'; |
1185 |
} |
1186 |
|
1187 |
$('.references_cadastrales_new_field').remove(); |
1188 |
$('.moreFieldReferenceCadastrale').remove(); |
1189 |
$('#morelineReferenceCadastrale').remove(); |
1190 |
$('#terrain_references_cadastrales').parent().parent().before( |
1191 |
html |
1192 |
); |
1193 |
} |
1194 |
|
1195 |
function addButtonCadastraleAdesse(){ |
1196 |
|
1197 |
$('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' + |
1198 |
'<div class="form-libelle"></div>' + |
1199 |
'<div class="form-content buttonCadAdr">' + |
1200 |
'<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' + |
1201 |
'</div>' + |
1202 |
'</div>' ); |
1203 |
} |
1204 |
|
1205 |
/* |
1206 |
Séparateur caché ; pour marqué la fin d'une ligne de référence cadastrale |
1207 |
* */ |
1208 |
function hiddenSeparatorField(){ |
1209 |
|
1210 |
return '<input ' + |
1211 |
'class="reference_cadastrale_custom_field" ' + |
1212 |
'type="hidden" ' + |
1213 |
'maxlength="2" ' + |
1214 |
'size="2" ' + |
1215 |
'value=";" />'; |
1216 |
} |
1217 |
|
1218 |
/** |
1219 |
* Retourne l'info passée en paramètre (nature de la demande ou type de la demande) |
1220 |
**/ |
1221 |
function getDemandeInfo(info) { |
1222 |
var id_demande_type = $('#demande_type').val(); |
1223 |
var res = ""; |
1224 |
if ( typeof id_demande_type !== "undefined" ){ |
1225 |
$.ajax({ |
1226 |
type: "GET", |
1227 |
url: "../app/getDemandeInfo.php?iddemandetype=" + id_demande_type |
1228 |
+ "&info=" + info, |
1229 |
cache: false, |
1230 |
async: false, |
1231 |
success: function(val){ |
1232 |
res = val; |
1233 |
} |
1234 |
}); |
1235 |
} |
1236 |
else { |
1237 |
|
1238 |
res = "NONE" |
1239 |
} |
1240 |
return res; |
1241 |
} |
1242 |
/* |
1243 |
Ajout d'une nouvelle ligne de champ de référence cadastrale |
1244 |
Retourne le code HTML |
1245 |
* */ |
1246 |
function fieldReferenceCadastraleBase(){ |
1247 |
|
1248 |
url = document.location + ""; |
1249 |
|
1250 |
var type = getDemandeInfo('nature'); |
1251 |
var reference_cadastrale = '<input ' + |
1252 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
1253 |
'type="text" ' + |
1254 |
'onchange="VerifNum(this)" ' + |
1255 |
'maxlength="4" ' + |
1256 |
'size="4" '+ |
1257 |
'placeholder="Quart." '; |
1258 |
|
1259 |
// désactivation des champs de référence cadastrale |
1260 |
if( (type != 'NOUV' && type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) { |
1261 |
reference_cadastrale += 'disabled="disabled" '; |
1262 |
} |
1263 |
|
1264 |
reference_cadastrale += 'value="" />'; |
1265 |
|
1266 |
reference_cadastrale += '<input ' + |
1267 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
1268 |
'type="text" ' + |
1269 |
'maxlength="3" ' + |
1270 |
'size="3" '+ |
1271 |
'placeholder="Sect." '; |
1272 |
|
1273 |
// désactivation des champs de référence cadastrale |
1274 |
if((type != 'NOUV'&& type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) { |
1275 |
reference_cadastrale += 'disabled="disabled" '; |
1276 |
} |
1277 |
|
1278 |
reference_cadastrale += 'value="" '+ |
1279 |
'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>'; |
1280 |
reference_cadastrale += '<input ' + |
1281 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
1282 |
'type="text" ' + |
1283 |
'onchange="VerifNum(this)" ' + |
1284 |
'maxlength="5" ' + |
1285 |
'size="5" '+ |
1286 |
'placeholder="Parc." '; |
1287 |
|
1288 |
// désactivation des champs de référence cadastrale |
1289 |
if((type != 'NOUV'&& type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) { |
1290 |
reference_cadastrale += 'disabled="disabled" '; |
1291 |
} |
1292 |
|
1293 |
reference_cadastrale += 'value="" />'; |
1294 |
|
1295 |
reference_cadastrale += '<span id="moreFieldReferenceCadastrale' + |
1296 |
$('.moreFieldReferenceCadastrale').length + |
1297 |
'" class="moreFieldReferenceCadastrale">' + hiddenSeparatorField(); |
1298 |
|
1299 |
// Si form validé pas de bouton |
1300 |
url = document.location + ""; |
1301 |
if( (type == 'NOUV' || type == 'NONE') && $("form[name=f1] .form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) { |
1302 |
|
1303 |
reference_cadastrale += |
1304 |
'<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres champs</span>'; |
1305 |
} |
1306 |
|
1307 |
reference_cadastrale += '</span>'; |
1308 |
|
1309 |
return reference_cadastrale; |
1310 |
} |
1311 |
|
1312 |
/** |
1313 |
* Cache les champs inutules [formulaire de demande] |
1314 |
**/ |
1315 |
function hideFields(){ |
1316 |
$('.demande_hidden_bloc').each( |
1317 |
function(){ |
1318 |
$(this).hide(); |
1319 |
} |
1320 |
); |
1321 |
|
1322 |
$('.field-type-text').hide(); |
1323 |
$('input[type=submit]').hide(); |
1324 |
$('#demande_type').parent().parent().hide(); |
1325 |
} |
1326 |
|
1327 |
/* |
1328 |
Affiche les champs dont on a besoin dans le formulaire de demande |
1329 |
* */ |
1330 |
function showFormsDemande(){ |
1331 |
|
1332 |
|
1333 |
if($('#demande_type').val() != "") { |
1334 |
|
1335 |
$('.demande_hidden_bloc').each( |
1336 |
function(){ |
1337 |
$(this).show(); |
1338 |
} |
1339 |
); |
1340 |
formatFieldReferenceCadastrale(1); |
1341 |
$('.field-type-text').show(); |
1342 |
$('input[type=submit]').show(); |
1343 |
$('.terrain_references_cadastrales_custom').hide(); |
1344 |
|
1345 |
$('#terrain_references_cadastrales').parent().parent().hide(); |
1346 |
|
1347 |
// Si le type de la demande est un transfert on efface la liste des demandeurs |
1348 |
if(getDemandeInfo('type') == 'DT') { |
1349 |
if($('input[name=petitionnaire_principal]').size() != -1) { |
1350 |
removeDemandeur("petitionnaire_principal_" + $('input[name=petitionnaire_principal]').val()); |
1351 |
} |
1352 |
if($('input[name=delegataire]').size() != -1) { |
1353 |
removeDemandeur("delegataire_" + $('input[name=delegataire]').val()); |
1354 |
} |
1355 |
|
1356 |
$('#listePetitionnaires input.demandeur_id').each(function(){ |
1357 |
if($(this).size() != -1) { |
1358 |
|
1359 |
removeDemandeur("petitionnaire_" + $(this).val()); |
1360 |
} |
1361 |
}); |
1362 |
} else if ( getDemandeInfo('type') == 'DM' ) { |
1363 |
$.ajax({ |
1364 |
type: "GET", |
1365 |
url: "../app/getDemandeurList.php?dossier_autorisation=" + $('#dossier_autorisation').val(), |
1366 |
cache: false, |
1367 |
async: false, |
1368 |
success: function(html){ |
1369 |
$('#liste_demandeur').replaceWith(html); |
1370 |
} |
1371 |
}); |
1372 |
} |
1373 |
affichageBoutonsDemandeurs(); |
1374 |
} else { |
1375 |
|
1376 |
/*Récupère les references cadastrales*/ |
1377 |
getDataFieldReferenceCadastrale(); |
1378 |
|
1379 |
$('.demande_hidden_bloc').each( |
1380 |
function(){ |
1381 |
$(this).hide(); |
1382 |
} |
1383 |
); |
1384 |
$('input[type=submit]').hide(); |
1385 |
|
1386 |
} |
1387 |
} |
1388 |
|
1389 |
/* |
1390 |
Action au clique sur le bouton " + ajouter d'autres champs" |
1391 |
* */ |
1392 |
function newInputReferenceCadastrale(){ |
1393 |
|
1394 |
// Champs désactivé si le formulaire a été validé et est valide |
1395 |
var type = getDemandeInfo('nature'); |
1396 |
var reference_cadastrale_disabled = ''; |
1397 |
if((type != 'NOUV'&& type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) { |
1398 |
reference_cadastrale_disabled = 'disabled="disabled" '; |
1399 |
} |
1400 |
|
1401 |
return '<input ' + |
1402 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
1403 |
'type="text" ' + |
1404 |
'maxlength="1" ' + |
1405 |
'size="3" ' + |
1406 |
'value="" ' + |
1407 |
'placeholder="Sep." ' + |
1408 |
reference_cadastrale_disabled + |
1409 |
'onchange="testSeparator(this);"/>' + |
1410 |
'<input ' + |
1411 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
1412 |
'type="text" ' + |
1413 |
'onchange="VerifNum(this)" ' + |
1414 |
'maxlength="4" ' + |
1415 |
'size="4" ' + |
1416 |
'placeholder="Parc." ' + |
1417 |
reference_cadastrale_disabled + |
1418 |
'value="" />'; |
1419 |
} |
1420 |
|
1421 |
|
1422 |
|
1423 |
/** |
1424 |
* Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau |
1425 |
* tableau de bord |
1426 |
*/ |
1427 |
function widget_bind_move_actions() {} |
1428 |
function widget_bind_add_action() {} |
1429 |
function widget_bind_edit_actions(widget_selector) {} |
1430 |
|
1431 |
// Cette fonction permet d'associer a un arbre html les fonctions jquery |
1432 |
// necessaires. Elle permet notamment lors du chargement d'une page en ajax |
1433 |
// d'associer le comportement du bouton, la gestion du calendrier et la gestion |
1434 |
// du fieldset. |
1435 |
function om_initialize_content() { |
1436 |
// Gestion du skin des boutons, liens |
1437 |
link_bind_button(); |
1438 |
// Gestion du calendrier avec le widget datepicker de jqueryui |
1439 |
inputdate_bind_datepicker(); |
1440 |
// Gestion des fieldset avec le plugin collaspsible de jquery |
1441 |
fieldset_bind_collapsible(); |
1442 |
// Gestion du picker color avec le plugin minicolors |
1443 |
bind_form_field_rvb(); |
1444 |
// Gestion du widget aide à la saisie localisation avec le plugin draggable |
1445 |
// de jqueryui |
1446 |
localisation_bind_draggable(); |
1447 |
// Gestion de la redimension automatique des textarea |
1448 |
textarea_autoresize(); |
1449 |
|
1450 |
|
1451 |
changeDemandeurType('qualite'); |
1452 |
addSearchIcon(); |
1453 |
addDivDialog('.bloc_demandeur'); |
1454 |
|
1455 |
} |
1456 |
|
1457 |
// Retourne la valeur d'une variable GET de l'URL |
1458 |
function getQuerystring(key, default_) |
1459 |
{ |
1460 |
if (default_==null) default_=""; |
1461 |
key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); |
1462 |
var regex = new RegExp("[\\?&]"+key+"=([^&#]*)"); |
1463 |
var qs = regex.exec(window.location.href); |
1464 |
if(qs == null) |
1465 |
return default_; |
1466 |
else |
1467 |
return qs[1]; |
1468 |
} |
1469 |
|
1470 |
// Récupère l'id de l'enregistrement lié au lot passé en parametre puis appel popupit |
1471 |
function overlayCerfa(idLot) { |
1472 |
$.get("../app/displayLotCerfa.php?lot="+idLot, function(data) { |
1473 |
if(data != '') { |
1474 |
popupIt('donnees_techniques', |
1475 |
'../scr/sousform.php?obj=donnees_techniques&idx='+data+ |
1476 |
'&retourformulaire=lot&maj=1&idxformulaire='+idLot, |
1477 |
950, 700); |
1478 |
|
1479 |
} else { |
1480 |
// Si pas d'id retourner on créer un nouvel enregistrement de donnéees techniques |
1481 |
popupIt('donnees_techniques', |
1482 |
'../scr/sousform.php?obj=donnees_techniques&retourformulaire=lot&maj=0&idxformulaire='+idLot, |
1483 |
950, 700); |
1484 |
} |
1485 |
|
1486 |
}); |
1487 |
} |
1488 |
|
1489 |
/* |
1490 |
* Marque comme lu une consultation |
1491 |
*/ |
1492 |
function portletUpdateData(id, objet, objetc, file, field, message){ |
1493 |
|
1494 |
/*Vérifie que l'identifiant passé en paramètre est bien un chiffre |
1495 |
* et que le type d'objet est défini |
1496 |
* */ |
1497 |
if ( $.isNumeric(id) && objet != '' ){ |
1498 |
|
1499 |
donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc + '&idxDossier=' + getQuerystring('idx'); |
1500 |
$.ajax({ |
1501 |
type: "GET", |
1502 |
url: "../app/"+file+".php" + donnees , |
1503 |
cache: false, |
1504 |
success: function(html){ |
1505 |
|
1506 |
$('#sousform-' + objet + ' .message').remove(); |
1507 |
/*Change la valeur affiché et affiche un message valide*/ |
1508 |
if ( $.parseJSON(html) == "Mise a jour effectue avec succes" || |
1509 |
$.parseJSON(html).indexOf("Transfert effectue avec succes") != -1 ){ |
1510 |
|
1511 |
// On modife le champ field |
1512 |
if ( field != '' && message != '' ){ |
1513 |
$('#'+field).html(message); |
1514 |
html = $.parseJSON(html); |
1515 |
} |
1516 |
else { |
1517 |
html = $.parseJSON(html).split(';'); |
1518 |
|
1519 |
$('#'+field).html(html[0]); |
1520 |
|
1521 |
html = html[1]; |
1522 |
} |
1523 |
|
1524 |
// On supprime l'action |
1525 |
$('span.'+field+'-16').parent().parent().remove(); |
1526 |
// On affiche le message |
1527 |
$('#sousform-' + objet + ' .subtitle').after( |
1528 |
'<div ' + |
1529 |
'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' + |
1530 |
'<p>' + |
1531 |
'<span class="ui-icon ui-icon-info"></span>' + |
1532 |
'<span class="text">' + |
1533 |
html + |
1534 |
'</span>' + |
1535 |
'</p>' + |
1536 |
'</div>' |
1537 |
); |
1538 |
} |
1539 |
/*Affichage d'une erreur*/ |
1540 |
else{ |
1541 |
$('#sousform-' + objet + ' .subtitle').after( |
1542 |
'<div ' + |
1543 |
'class="message ui-widget ui-corner-all ui-state-highlight ui-state-error">' + |
1544 |
'<p>' + |
1545 |
'<span class="ui-icon ui-icon-info"></span>' + |
1546 |
'<span class="text">' + |
1547 |
$.parseJSON(html) + |
1548 |
'</span>' + |
1549 |
'</p>' + |
1550 |
'</div>' |
1551 |
); |
1552 |
} |
1553 |
} |
1554 |
}); |
1555 |
} |
1556 |
} |
1557 |
|
1558 |
// Affiche le sous formulaire onglet |
1559 |
function redirectPortletAction(id, onglet, nom_tabs){ |
1560 |
|
1561 |
var nom_tabs = ( typeof nom_tabs === "undefined" ) ? ".ui-tabs" : nom_tabs; |
1562 |
var $tabs = $(nom_tabs).tabs(); |
1563 |
|
1564 |
lien_onglet = $('#' + onglet).attr('href'); |
1565 |
lien_onglet = lien_onglet.substring( lien_onglet.length - 1, lien_onglet.length); |
1566 |
|
1567 |
$tabs.tabs('select', lien_onglet); |
1568 |
} |
1569 |
|
1570 |
//Rajoute un dossier pour la commission id |
1571 |
function addDossierCommission(id, container){ |
1572 |
|
1573 |
link = "../app/ajouter_dossier_commission.php?idx=" + id + "&idxDossier=" + $(container+" #dossier").val(); |
1574 |
|
1575 |
$.ajax({ |
1576 |
type: "GET", |
1577 |
url: link, |
1578 |
cache: false, |
1579 |
dataType: "json", |
1580 |
success: function(i, obj){ |
1581 |
|
1582 |
$(container + " .message").remove(); |
1583 |
$(container).prepend( |
1584 |
'<div class="message ui-widget ui-corner-all ui-state-highlight">'+ |
1585 |
'<p>'+ |
1586 |
'<span class="ui-icon ui-icon-info"></span>'+ |
1587 |
'<span class="text">'+ |
1588 |
'</span>'+ |
1589 |
'</p>'+ |
1590 |
'</div>' |
1591 |
); |
1592 |
|
1593 |
// Nouveau dossier ajouté |
1594 |
if ( i.return == "1" ){ |
1595 |
|
1596 |
$(container + ' .message').addClass("ui-state-ok"); |
1597 |
$(container + ' .message .text').html("Dossier ajouté avec succès."); |
1598 |
} |
1599 |
//Dossier existe mais non ajouté |
1600 |
else if( i.return == "0" ){ |
1601 |
|
1602 |
$(container + ' .message').addClass("ui-state-error"); |
1603 |
$(container + ' .message .text').html("Une erreur s'est produite lors de l'ajout de ce dossier. " + |
1604 |
"Veuillez contacter votre administrateur"); |
1605 |
} |
1606 |
//Le dossier n'existe pas |
1607 |
else if( i.return == "-1" ){ |
1608 |
|
1609 |
$(container + ' .message').addClass("ui-state-error"); |
1610 |
$(container + ' .message .text').html("Ce dossier n'existe pas."); |
1611 |
} |
1612 |
//Le dossier est déjà à l'ordre du jour |
1613 |
else if( i.return == "2" ){ |
1614 |
|
1615 |
$(container + ' .message').addClass("ui-state-error"); |
1616 |
$(container + ' .message .text').html("Ce dossier est deja a l'ordre du jour."); |
1617 |
} |
1618 |
|
1619 |
}, |
1620 |
async: false |
1621 |
}); |
1622 |
} |
1623 |
|
1624 |
//Affichage du tableau des dossier_commission possibles |
1625 |
function ajouterTableauDossierCommissionPossible(id){ |
1626 |
|
1627 |
link = "../app/tableau_dossier_commission_possible.php?idx=" + id ; |
1628 |
|
1629 |
$.ajax({ |
1630 |
type: "GET", |
1631 |
url: link, |
1632 |
cache: false, |
1633 |
success: function(html){ |
1634 |
|
1635 |
$('#tabs-2').html(html); |
1636 |
}, |
1637 |
async: false |
1638 |
}); |
1639 |
} |
1640 |
|
1641 |
//Met à jour la liste des dossiers de la commission |
1642 |
function updateCommission(id, container){ |
1643 |
|
1644 |
var link = "../app/update_dossier_commission.php?idx=" + id ; |
1645 |
var res = 1; |
1646 |
|
1647 |
//Affiche du message de retour |
1648 |
$(container + " .message").remove(); |
1649 |
$(container).prepend( |
1650 |
'<div class="message ui-widget ui-corner-all ui-state-highlight">'+ |
1651 |
'<p>'+ |
1652 |
'<span class="ui-icon ui-icon-info"></span>'+ |
1653 |
'<span class="text">'+ |
1654 |
msg_loading + |
1655 |
'</span>'+ |
1656 |
'</p>'+ |
1657 |
'</div>' |
1658 |
); |
1659 |
|
1660 |
$(container + " input[type='checkbox']").each( |
1661 |
function(index) { |
1662 |
|
1663 |
link = "../app/update_dossier_commission.php?idx=" + id + |
1664 |
"&idxDossier=" + $(this).val(); |
1665 |
|
1666 |
//Ajoute ces dossiers de l'ordre du jour |
1667 |
if ( $(this).is(":checked")){ |
1668 |
|
1669 |
link += "&action=add"; |
1670 |
} |
1671 |
//Supprime ces dossiers de l'ordre du jour |
1672 |
else{ |
1673 |
|
1674 |
link += "&action=remove"; |
1675 |
} |
1676 |
|
1677 |
//Mise à jour des données |
1678 |
$.ajax({ |
1679 |
type: "GET", |
1680 |
url: link, |
1681 |
cache: false, |
1682 |
dataType: "json", |
1683 |
success: function(i, obj){ |
1684 |
|
1685 |
// Erreur |
1686 |
if( i.return == "-1" ){ |
1687 |
|
1688 |
res = -1; |
1689 |
} |
1690 |
}, |
1691 |
async: false |
1692 |
}); |
1693 |
} |
1694 |
); |
1695 |
|
1696 |
//le traitement a été effectué avec succés |
1697 |
if ( res == 1 ){ |
1698 |
|
1699 |
$(container + ' .message').addClass("ui-state-ok"); |
1700 |
$(container + ' .message .text').html("Mise à jour réalisée avec succès."); |
1701 |
} |
1702 |
//Une erreur s'est produite |
1703 |
else { |
1704 |
|
1705 |
$(container + ' .message').addClass("ui-state-error"); |
1706 |
$(container + ' .message .text').html("Une erreur s'est produite la mise à jour de la commission. " + |
1707 |
"Veuillez contacter votre administrateur"); |
1708 |
} |
1709 |
} |
1710 |
|
1711 |
|
1712 |
//Récupère les données du type de commission et les mets dans les champs |
1713 |
function chargeDonneesCommissionType(id_commission_type){ |
1714 |
|
1715 |
//Requête ajax de récupération des données |
1716 |
$.ajax({ |
1717 |
type: "GET", |
1718 |
url: "../app/getCommissionTypeInfo.php?idx=" + id_commission_type, |
1719 |
dataType: "json", |
1720 |
async: false, |
1721 |
success: function(data){ |
1722 |
|
1723 |
// Ajout des données dans les champs |
1724 |
$('#libelle').val(data.libelle); |
1725 |
$('#lieu_adresse_ligne1').val(data.lieu_adresse_ligne1); |
1726 |
$('#lieu_adresse_ligne2').val(data.lieu_adresse_ligne2); |
1727 |
$('#lieu_salle').val(data.lieu_salle); |
1728 |
$('#listes_de_diffusion').val(data.listes_de_diffusion); |
1729 |
$('#participants').val(data.participants); |
1730 |
} |
1731 |
}); |
1732 |
} |