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 |
|
14 |
/** |
15 |
* WIDGET liés au formulaire et sousformulaire |
16 |
* |
17 |
* Ces fonctions javascript sont appelées depuis les méthodes setOnChange, |
18 |
* setOnClick, ... |
19 |
*/ |
20 |
// bible - type httpclick |
21 |
function bible() { |
22 |
if(fenetreouverte==true) |
23 |
pfenetre.close(); |
24 |
var ev=document.f2.evenement.value; |
25 |
var idx=document.f2.dossier.value; |
26 |
pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120"); |
27 |
fenetreouverte=true; |
28 |
} |
29 |
// bible2 - type httpclick |
30 |
function bible2() |
31 |
{ |
32 |
if(fenetreouverte==true) |
33 |
pfenetre.close(); |
34 |
var ev=document.f2.evenement.value; |
35 |
var idx=document.f2.dossier.value; |
36 |
pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120"); |
37 |
fenetreouverte=true; |
38 |
} |
39 |
// bible_auto - type httpclick |
40 |
function bible_auto(){ |
41 |
if(fenetreouverte==true) |
42 |
pfenetre.close(); |
43 |
var ev=document.f2.evenement.value; |
44 |
var idx=document.f2.dossier.value; |
45 |
pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120"); |
46 |
fenetreouverte=true; |
47 |
} |
48 |
// VerifNumdec - type text |
49 |
function VerifNumdec(champ) { |
50 |
champ.value = champ.value.replace(",", "."); // remplacement de la virgule |
51 |
//if (champ.value.lastIndexOf(".") == -1){ // champ decimal |
52 |
if (isNaN(champ.value)) { |
53 |
alert(msg_alert_error_verifnum); |
54 |
champ.value = ""; |
55 |
return; |
56 |
} |
57 |
//} |
58 |
|
59 |
} |
60 |
// Ce widget permet de charger les données d'un select en ajax |
61 |
function changeDataSelect(tn, ds, joker){ |
62 |
|
63 |
var id = $("#"+ds+" option:selected").val(); |
64 |
link = "../app/listData.php?idx=" + id + "&tn=" + tn + "&ds=" + ds; |
65 |
$.ajax({ |
66 |
type: "GET", |
67 |
url: link, |
68 |
cache: false, |
69 |
dataType: "json", |
70 |
success: function(html){ |
71 |
|
72 |
$('#'+tn).empty(); |
73 |
|
74 |
if ( joker == true ) |
75 |
$('#'+tn).append( |
76 |
'<option value="" selected="selected">*</option>' |
77 |
); |
78 |
else |
79 |
$('#'+tn).append( |
80 |
'<option value="" selected="selected">Choisir ' + tn + '</option>' |
81 |
); |
82 |
|
83 |
if ( html !== '' ){ |
84 |
|
85 |
html = html.split(';'); |
86 |
for ( i = 0 ; i < html.length - 1 ; i++ ){ |
87 |
|
88 |
html_temp = html[i].split('_'); |
89 |
$('#'+tn).append( |
90 |
'<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>' |
91 |
); |
92 |
} |
93 |
} |
94 |
}, |
95 |
async: false |
96 |
}); |
97 |
} |
98 |
// vuploadMulti - XXX |
99 |
function vuploadMulti(champ) { |
100 |
// |
101 |
if (fenetreouverte == true) { |
102 |
pfenetre.close(); |
103 |
} |
104 |
// |
105 |
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"); |
106 |
//pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120"); |
107 |
// |
108 |
fenetreouverte = true; |
109 |
} |
110 |
// tmpUpload - Upload XXX |
111 |
function tmpUpload(champ) { |
112 |
// |
113 |
if (fenetreouverte == true) { |
114 |
pfenetre.close(); |
115 |
} |
116 |
// |
117 |
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"); |
118 |
//pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120"); |
119 |
// |
120 |
fenetreouverte = true; |
121 |
} |
122 |
|
123 |
|
124 |
|
125 |
/** |
126 |
* POPUP pour le téléchargement de fichier |
127 |
* |
128 |
* Ces fonctions javascript sont appelées depuis des onClick sur des |
129 |
* formulaires spécifiques pour permettre de transmettre des paramètres aux |
130 |
* éditions pdf ainsi appelées. |
131 |
*/ |
132 |
// |
133 |
function dossierads_d(debut) |
134 |
{ |
135 |
//if(fenetreouverte==true) |
136 |
window.location="../pdf/pdfetat.php?obj=dossier_ads_d&nature=" |
137 |
+document.f1.nature.value+"&idx=demo&datedebut=" |
138 |
+document.f1.datedebut.value+"&datefin="+document.f1.datefin.value; |
139 |
} |
140 |
// |
141 |
function dossier_m(){ |
142 |
window.location="../pdf/pdfetat.php?obj=dossier_m&idx=demo"; |
143 |
/*Requete AJAX vers le fichier edition_m.php pour mettre à jour les dossiers*/ |
144 |
$.ajax({ |
145 |
type: "GET", |
146 |
url: "../app/edition_m.php?update", |
147 |
cache: false, |
148 |
success: function(html){ |
149 |
if ( html.length > 2 ){ |
150 |
|
151 |
alert(html); |
152 |
} |
153 |
}, |
154 |
async: false |
155 |
}); |
156 |
} |
157 |
// |
158 |
function dossierdepot() |
159 |
{ |
160 |
//if(fenetreouverte==true) |
161 |
window.location="../pdf/pdfetat.php?obj=dossier_depot&nature="+ |
162 |
document.f1.nature.value+"&idx=demo&datedebut="+ |
163 |
document.f1.datedebut.value+"&datefin="+document.f1.datefin.value; |
164 |
} |
165 |
// |
166 |
function dossierads() |
167 |
{ |
168 |
//if(fenetreouverte==true) |
169 |
window.location="../pdf/pdfetat.php?obj=dossier_ads&nature="+ |
170 |
document.f1.nature.value+"&idx=demo&datedebut="+ |
171 |
document.f1.datedebut.value+"&datefin="+document.f1.datefin.value; |
172 |
} |
173 |
|
174 |
// téléchargement du fichier |
175 |
function file(fichier) { |
176 |
// |
177 |
if (fichier == "") { |
178 |
alert("zone vide"); |
179 |
} |
180 |
// |
181 |
pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes"); |
182 |
// |
183 |
fenetreouverte = true; |
184 |
} |
185 |
|
186 |
/** |
187 |
* Retour spécifique de l'écran de consultation multiple - surcharge de ajaxIt |
188 |
* @todo XXX voir les différences avec ajaxIt et si il n'est pas possible |
189 |
* d'effectuer la modification dans le core |
190 |
*/ |
191 |
function messageIt(objsf, link, empty) { |
192 |
// recuperation du terme recherche |
193 |
var recherche = document.getElementById("recherchedyn"); |
194 |
if (recherche != null) { |
195 |
link += "&recherche="+recherche.value; |
196 |
}else { |
197 |
link += "&recherche="; |
198 |
} |
199 |
// execution de la requete en GET |
200 |
$.ajax({ |
201 |
type: "GET", |
202 |
url: link, |
203 |
cache: false, |
204 |
success: function(html){ |
205 |
(empty == true )?$("#sousform-"+objsf).empty():''; |
206 |
$("#sousform-"+objsf).append(html); |
207 |
om_initialize_content(); |
208 |
}, |
209 |
async: false |
210 |
}); |
211 |
} |
212 |
|
213 |
/** |
214 |
* TTélécharegement de fichier pdf en ajax |
215 |
* spécifique de l'écran de consultation multiple |
216 |
*/ |
217 |
/* Plugin jQuery qui lance un espèce d'appel AJAX vers un script PHP de téléchargement de fichier*/ |
218 |
jQuery.download = function(url, data, method){ |
219 |
//url and data options required |
220 |
if( url && data ){ |
221 |
//data can be string of parameters or array/object |
222 |
data = typeof data == 'string' ? data : jQuery.param(data); |
223 |
//split params into form inputs |
224 |
var inputs = ''; |
225 |
jQuery.each(data.split('&'), function(){ |
226 |
var pair = this.split('='); |
227 |
inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; |
228 |
}); |
229 |
//send request |
230 |
jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>') |
231 |
.prependTo('body').submit().remove(); |
232 |
}; |
233 |
}; |
234 |
|
235 |
/** |
236 |
* Cette fonction permet de charger dans un dialog jqueryui un formulaire tel |
237 |
* qu'il aurait été chargé avec ajaxIt |
238 |
* |
239 |
* @param objsf string : objet de sousformulaire |
240 |
* @param link string : lien vers un sousformulaire (../scr/sousform.php...) |
241 |
* @param width integer: width en px |
242 |
* @param height integer: height en px |
243 |
* @param callback function (optionel) : nom de la méthode à appeler |
244 |
* à la fermeture du dialog |
245 |
* @param callbackParams mixed (optionel) : paramètre à traiter dans la function |
246 |
* callback |
247 |
* |
248 |
**/ |
249 |
function popupIt(objsf, link, width, height, callback, callbackParams) { |
250 |
// Insertion du conteneur du dialog |
251 |
var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls'); |
252 |
$('<input type=\"text\" name=\"recherchedyn\" id=\"recherchedyn\" value=\"\" class=\"champFormulaire\" style=\"display:none\" />').insertAfter('#sousform-'+objsf); |
253 |
|
254 |
// execution de la requete passee en parametre |
255 |
// (idem ajaxIt + callback) |
256 |
$.ajax({ |
257 |
type: "GET", |
258 |
url: link, |
259 |
cache: false, |
260 |
success: function(html){ |
261 |
//Suppression d'un precedent dialog |
262 |
dialog.empty(); |
263 |
//Ajout du contenu recupere |
264 |
dialog.append(html); |
265 |
//Initialisation du theme OM |
266 |
om_initialize_content(); |
267 |
//Creation du dialog |
268 |
$(dialog).dialog({ |
269 |
//OnClose suppression du contenu |
270 |
close: function(ev, ui) { |
271 |
// Si le formulaire est submit et valide on execute la méthode |
272 |
// passée en paramètre |
273 |
if (typeof(callback) === "function") { |
274 |
callback(callbackParams); |
275 |
} |
276 |
$(this).remove(); |
277 |
}, |
278 |
resizable: false, |
279 |
modal: true, |
280 |
width: width, |
281 |
height: height, |
282 |
position: 'center', |
283 |
}); |
284 |
}, |
285 |
async : false |
286 |
}); |
287 |
//Fermeture du dialog lors d'un clic sur le bouton retour |
288 |
$('#sousform-'+objsf).on("click",'a.retour',function() { |
289 |
$(dialog).dialog('close').remove(); |
290 |
return false; |
291 |
}); |
292 |
} |
293 |
|
294 |
/*** |
295 |
* Fonction getter des paramètres de l'url courante |
296 |
*/ |
297 |
// Parse URL Queries Method |
298 |
(function($){ |
299 |
$.getQuery = function( query ) { |
300 |
query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); |
301 |
var expr = "[\\?&]"+query+"=([^&#]*)"; |
302 |
var regex = new RegExp( expr ); |
303 |
var results = regex.exec( window.location.href ); |
304 |
if( results !== null ) { |
305 |
return results[1]; |
306 |
return decodeURIComponent(results[1].replace(/\+/g, " ")); |
307 |
} else { |
308 |
return false; |
309 |
} |
310 |
}; |
311 |
})(jQuery); |
312 |
|
313 |
|
314 |
/* |
315 |
* Javascript concernant la demande d'avis |
316 |
* |
317 |
* |
318 |
*/ |
319 |
|
320 |
/** |
321 |
* Fonction de callback appellée lors de la fermeture du dialog (popupit) |
322 |
* du retour d'avis d'un service |
323 |
**/ |
324 |
function returnToTab(objsf) { |
325 |
var valid=$('#sousform-'+objsf+' div.ui-state-valid'); |
326 |
if(valid.length > 0) { |
327 |
document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier') |
328 |
+"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol') |
329 |
+"&selectioncol="+$.getQuery('selectioncol'); |
330 |
} |
331 |
}; |
332 |
|
333 |
|
334 |
/* |
335 |
* Javascript concernant la demande |
336 |
* |
337 |
* |
338 |
*/ |
339 |
|
340 |
/** |
341 |
* Function permettant de mettre à jour les infos du demandeur |
342 |
**/ |
343 |
function getDemandeurId(type) { |
344 |
var id_demandeur=$('#id_retour').val(); |
345 |
if($.isNumeric(id_demandeur)) { |
346 |
afficherDemandeur(id_demandeur,type); |
347 |
om_initialize_content(); |
348 |
} |
349 |
} |
350 |
|
351 |
/** |
352 |
* Fonction permettant d'afficher la synthèse d'un demandeur |
353 |
*/ |
354 |
function afficherDemandeur(id,type) { |
355 |
$.ajax({ |
356 |
type: "GET", |
357 |
url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+id+'&type='+type, |
358 |
cache: false, |
359 |
success: function(html){ |
360 |
$(html).insertBefore('#add_'+type).fadeIn(500); |
361 |
|
362 |
}, |
363 |
async:false |
364 |
}); |
365 |
affichageBoutonsDemandeurs(); |
366 |
} |
367 |
|
368 |
/** |
369 |
* Function permettant de modifier un demandeur |
370 |
*/ |
371 |
function editDemandeur(obj,id,type,id_css) { |
372 |
popupIt(type, |
373 |
'../scr/sousform.php?obj='+obj+'&action=1'+ |
374 |
'&retourformulaire=demande&idx='+id, 780, 'auto', |
375 |
replaceDemandeur, {'type':type,'id': id, 'id_css':id_css}); |
376 |
affichageBoutonsDemandeurs(); |
377 |
} |
378 |
|
379 |
/** |
380 |
* Function permettant de remplacer un contenu déjà existant |
381 |
**/ |
382 |
function replaceDemandeur(obj) { |
383 |
$.ajax({ |
384 |
type: "GET", |
385 |
url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+obj.id+'&type='+obj.type, |
386 |
cache: false, |
387 |
success: function(html){ |
388 |
$(obj.id_css).replaceWith(html); |
389 |
} |
390 |
}); |
391 |
} |
392 |
/** |
393 |
* Function permettant de remplacer un contenu déjà existant |
394 |
**/ |
395 |
function removeDemandeur(id) { |
396 |
var div_class=$('#'+id).attr("class"); |
397 |
$('#'+id).remove(); |
398 |
if(div_class == "delegataire") { |
399 |
$('#add_delegataire').fadeIn(500); |
400 |
} |
401 |
affichageBoutonsDemandeurs(); |
402 |
} |
403 |
|
404 |
/** |
405 |
* Fonction permettant d'afficher et cacher les boutons d'ajout de demandeurs |
406 |
*/ |
407 |
function affichageBoutonsDemandeurs(){ |
408 |
// Affichage du bouton d'ajout du petitionnaire principal |
409 |
if($('input[name=petitionnaire_principal][type=hidden]').size() == 1) { |
410 |
$('#add_petitionnaire_principal').hide(); |
411 |
} else { |
412 |
$('#add_petitionnaire_principal').fadeIn(500); |
413 |
} |
414 |
// Affichage du bouton d'ajout du delegataire |
415 |
if($('input[name=petitionnaire_principal][type=hidden]').size() == 1 |
416 |
|| $('input[name=delegataire][type=hidden]').size() == 1) { |
417 |
$('#delegataire').fadeIn(500); |
418 |
if($('input[name=delegataire][type=hidden]').size() == 0) { |
419 |
$('#add_delegataire').fadeIn(500); |
420 |
} else { |
421 |
$('#add_delegataire').hide(); |
422 |
} |
423 |
} else { |
424 |
$('#delegataire').hide(); |
425 |
} |
426 |
// Affichage du bouton d'ajout de petitionnaires |
427 |
if($('input[name=petitionnaire_principal][type=hidden]').size() == 0) { |
428 |
$('#add_petitionnaire').hide(); |
429 |
} else { |
430 |
$('#add_petitionnaire').fadeIn(500); |
431 |
} |
432 |
} |
433 |
|
434 |
/** |
435 |
* Appel au chargement de la page |
436 |
**/ |
437 |
$(function() { |
438 |
changeDemandeurType('qualite'); |
439 |
if ( $('#type_demandeur') == 'petitionnaire' ){ |
440 |
|
441 |
addSearchIcon(); |
442 |
addDivDialog('.bloc_demandeur'); |
443 |
} |
444 |
affichageBoutonsDemandeurs(); |
445 |
// Bind de la fonction permettant l'ajout du pétitionnaire principal |
446 |
$("#formulaire").on("click","#add_petitionnaire_principal", function() { |
447 |
popupIt('petitionnaire', |
448 |
'../scr/sousform.php?obj=petitionnaire&action=0'+ |
449 |
'&retourformulaire=demande&principal=true', 780, 'auto', |
450 |
getDemandeurId, 'petitionnaire_principal'); |
451 |
}); |
452 |
// Bind de la fonction permettant l'ajout du délégataire |
453 |
$("#formulaire").on("click","#add_delegataire", function(event) { |
454 |
popupIt('delegataire', |
455 |
'../scr/sousform.php?obj=delegataire&action=0'+ |
456 |
'&retourformulaire=demande', 780, 'auto', |
457 |
getDemandeurId, 'delegataire'); |
458 |
}); |
459 |
// Bind de la fonction permettant l'ajout des pétitionnaires |
460 |
$("#formulaire").on("click","#add_petitionnaire", function(event) { |
461 |
popupIt('petitionnaire', |
462 |
'../scr/sousform.php?obj=petitionnaire&action=0'+ |
463 |
'&retourformulaire=demande', 780, 'auto', |
464 |
getDemandeurId, 'petitionnaire'); |
465 |
}); |
466 |
|
467 |
|
468 |
url = document.location + "" ; |
469 |
|
470 |
if (url.indexOf("form.php?obj=demande&") != -1 |
471 |
&& url.indexOf("&action=0") != -1 ){ |
472 |
/*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/ |
473 |
hideFields(); |
474 |
} |
475 |
if (url.indexOf("form.php?obj=demande&") != -1) { |
476 |
changeDemandeType(); |
477 |
} |
478 |
if (url.indexOf("form.php?obj=demande&") != -1 |
479 |
&& url.indexOf("&action=1") != -1 ){ |
480 |
|
481 |
formatFieldReferenceCadastrale(); |
482 |
} |
483 |
}); |
484 |
|
485 |
/* |
486 |
* Action sur les champs pour les références cadastrales |
487 |
*/ |
488 |
function formatFieldReferenceCadastrale(){ |
489 |
addNewFieldReferencesCadastrales(); |
490 |
$('#terrain_references_cadastrales').parent().parent().hide(); |
491 |
|
492 |
reference_cadastrale = $('#terrain_references_cadastrales').val(); |
493 |
/*Formatage de la reference cadastrale*/ |
494 |
if ( reference_cadastrale != '' ){ |
495 |
|
496 |
/* Récupère la référence cadastrale non formatée */ |
497 |
references_cadastrales = reference_cadastrale.split(';'); |
498 |
donnees = new Array(); |
499 |
|
500 |
i = 0 ; |
501 |
/* Boucle sur les références, elles étaient séparées par un ; */ |
502 |
for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){ |
503 |
|
504 |
/*Récupère le code impots du qartier [CHIFFRES]*/ |
505 |
k = 0; |
506 |
donnees[i] = ''; |
507 |
for ( j = k ; j < references_cadastrales[l].length ; j++ ){ |
508 |
|
509 |
if ( references_cadastrales[l].charAt(j) >= 0 && |
510 |
references_cadastrales[l].charAt(j) <= 9 ){ |
511 |
|
512 |
donnees[i] += references_cadastrales[l].charAt(j); |
513 |
k++; |
514 |
|
515 |
} else { |
516 |
|
517 |
i++; |
518 |
break; |
519 |
} |
520 |
} |
521 |
|
522 |
/* Récupère la section [LETTRES] */ |
523 |
donnees[i] = ''; |
524 |
for ( j = k ; j < references_cadastrales[l].length ; j++ ) |
525 |
if ( isAlpha(references_cadastrales[l].charAt(j)) ){ |
526 |
|
527 |
donnees[i] += references_cadastrales[l].charAt(j); |
528 |
k++; |
529 |
|
530 |
} else { |
531 |
|
532 |
i++; |
533 |
break; |
534 |
} |
535 |
|
536 |
/* Récupère la parcelle [CHIFFRES] */ |
537 |
donnees[i] = ''; |
538 |
for ( j = k ; j < references_cadastrales[l].length ; j++ ) |
539 |
if ( references_cadastrales[l].charAt(j) >= 0 && |
540 |
references_cadastrales[l].charAt(j) <= 9 ){ |
541 |
|
542 |
donnees[i] += references_cadastrales[l].charAt(j); |
543 |
k++; |
544 |
|
545 |
} else { |
546 |
|
547 |
break; |
548 |
} |
549 |
|
550 |
/* Récupère les séparateurs [ A / ] et les sections */ |
551 |
m = 0 ; |
552 |
if ( k < references_cadastrales[l].length ){ |
553 |
|
554 |
for ( j = k ; j < references_cadastrales[l].length ; j++ ) |
555 |
if ( isAlpha(references_cadastrales[l].charAt(j)) ){ |
556 |
|
557 |
m++; |
558 |
donnees[++i] = references_cadastrales[l].charAt(j); |
559 |
donnees[++i] = ''; |
560 |
} |
561 |
else { |
562 |
|
563 |
donnees[i] += references_cadastrales[l].charAt(j); |
564 |
} |
565 |
} |
566 |
|
567 |
/*Créé autant de champs de que de référence */ |
568 |
donnees[++i] = ';'; |
569 |
i++; |
570 |
|
571 |
if ( l > 0 ) { |
572 |
|
573 |
$('.reference_cadastrale_custom_fields').append( |
574 |
"<br/>" + fieldReferenceCadastraleBase() |
575 |
); |
576 |
} |
577 |
|
578 |
actionFormReferenceCadastrale(); |
579 |
|
580 |
if ( m > 0 ){ |
581 |
|
582 |
for ( j = 0 ; j < m ; j++ ){ |
583 |
|
584 |
$('#moreFieldReferenceCadastrale' + |
585 |
( $('.moreFieldReferenceCadastrale').length - 1 ) ). |
586 |
before( |
587 |
newInputReferenceCadastrale() |
588 |
); |
589 |
} |
590 |
} |
591 |
} |
592 |
/* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter |
593 |
* d'autres lignes] */ |
594 |
actionLineFormReferenceCadastrale(); |
595 |
|
596 |
/* Ajoute les données dans les champs nouvellement créés */ |
597 |
$('.reference_cadastrale_custom_field').each( |
598 |
function(index) { |
599 |
|
600 |
$(this).val(donnees[index]) |
601 |
} |
602 |
); |
603 |
} |
604 |
else{ |
605 |
actionFormReferenceCadastrale(); |
606 |
actionLineFormReferenceCadastrale(); |
607 |
} |
608 |
} |
609 |
|
610 |
/* |
611 |
* Ajoute les icônes pour la recherche de pétitionnaire fréquent. |
612 |
*/ |
613 |
function addSearchIcon(){ |
614 |
|
615 |
$("#form-content:not(.form-is-valid) .search_particulier_fields,"+ |
616 |
"#form-content:not(.form-is-valid) .search_personne_morale_fields").each(function() { |
617 |
/*Ajout de l'icône après le champs dénomination et nom de la personne morale*/ |
618 |
|
619 |
$(this). |
620 |
after( |
621 |
'<span '+ |
622 |
'class="om-icon om-icon-16 om-icon-fix search-petitionnaire-16" '+ |
623 |
'title="Chercher un petitionnaire"> '+ |
624 |
'</span>'+ |
625 |
'<span '+ |
626 |
'class="om-icon om-icon-16 om-icon-fix erase-petitionnaire delete-16" '+ |
627 |
'title="Supprimer le contenu"> '+ |
628 |
'</span>' |
629 |
); |
630 |
} |
631 |
); |
632 |
|
633 |
addActionSearchIcon('#sousform-petitionnaire #form-content'); |
634 |
addActionRemove(); |
635 |
|
636 |
} |
637 |
|
638 |
/** |
639 |
* Fonction permettant de revenir sur le formulaire d'ajout de demandeur |
640 |
**/ |
641 |
function addActionRemove(){ |
642 |
$('.erase-petitionnaire').click( |
643 |
function(){ |
644 |
ajaxIt('petitionnaire','../scr/sousform.php?obj=petitionnaire&action=0'); |
645 |
}); |
646 |
} |
647 |
|
648 |
/* |
649 |
* Ajoute les actions sur les icônes de recherche |
650 |
*/ |
651 |
function addActionSearchIcon(id){ |
652 |
|
653 |
/*Si on recherche un pétitionnaire de type particulier*/ |
654 |
$('.search-petitionnaire-16').click( |
655 |
function(){ |
656 |
|
657 |
/*Le champ nom du particulier doit contenir au moins trois lettres*/ |
658 |
if ( $('#particulier_nom').val().length < 3 && |
659 |
$('#particulier_prenom').val().length < 3 && |
660 |
$('#personne_morale_denomination').val().length < 3 && |
661 |
$('#personne_morale_nom').val().length < 3 ){ |
662 |
|
663 |
alert('Saisissez au moins trois lettres pour la recherche'); |
664 |
return; |
665 |
} |
666 |
|
667 |
/*Données des champs nom et prénom du particulier*/ |
668 |
var donnees = "?par_nom=" + $('.search_particulier_fields #particulier_nom').val() + |
669 |
"&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val() + |
670 |
"&mor_denomination="+$('#personne_morale_denomination').val() + |
671 |
"&mor_nom="+$('#personne_morale_nom').val(); |
672 |
|
673 |
/* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s) |
674 |
* correspondant(s) à la recherche */ |
675 |
$.ajax({ |
676 |
type: "GET", |
677 |
url: "../app/findPetitionnaire.php" + donnees , |
678 |
cache: false, |
679 |
success: function(obj){ |
680 |
var freq = $.parseJSON(obj); |
681 |
var res=''; |
682 |
/*Si la recherche a donné des résultats*/ |
683 |
if ( freq.length > 0 ){ |
684 |
/*Limitation des résultats à 50 */ |
685 |
if ( freq.length > 50 ){ |
686 |
|
687 |
nbRes = 50; |
688 |
res += 'Votre recherche a donné ' + freq.length |
689 |
+ ' résultats. Seul les cinquantes premiers ' + |
690 |
'seront affichés.<br/>'; |
691 |
} else { |
692 |
nbRes = freq.length; |
693 |
} |
694 |
|
695 |
res += '<select>' ; |
696 |
|
697 |
/* Met les résultats de la recherche dans un select */ |
698 |
for ( i = 0 ; i < nbRes ; i++ ){ |
699 |
res += '<option value="' + freq[i].value + '">' + |
700 |
freq[i].content + |
701 |
'</option>'; |
702 |
} |
703 |
|
704 |
res += '</select>'; |
705 |
} else { |
706 |
res += 'Aucune correspondance trouvée.'; |
707 |
} |
708 |
|
709 |
/* Affichage de l'overlay */ |
710 |
$('#dialog').html(res); |
711 |
|
712 |
$( "#dialog" ).dialog({ |
713 |
modal: true, |
714 |
buttons : { |
715 |
Valider: function(){ |
716 |
if ( res != 'Auncune correspondance trouvée.'){ |
717 |
|
718 |
} |
719 |
var id = $('#dialog select option:selected').val(); |
720 |
if($.isNumeric(id)) { |
721 |
ajaxIt('petitionnaire', |
722 |
'../scr/sousform.php?obj=petitionnaire&action=1&retourformulaire=demande&idx='+id); |
723 |
} |
724 |
// Fermeture de l'overlay |
725 |
$(this).dialog( "close" ).empty(); |
726 |
} |
727 |
} |
728 |
}); |
729 |
}, |
730 |
}); |
731 |
} |
732 |
); |
733 |
} |
734 |
|
735 |
/* |
736 |
* Ajoute un div pour l'overlay dialog de jQuery |
737 |
*/ |
738 |
function addDivDialog(id){ |
739 |
|
740 |
$(id).prepend('<div id="dialog"></div>'); |
741 |
} |
742 |
|
743 |
/* |
744 |
Action au changement du select de la qualite du demandeur |
745 |
* */ |
746 |
function changeDemandeurType(id){ |
747 |
|
748 |
/*Si la qualite du demandeur est particulier */ |
749 |
if ( $('#' + id + ' option:selected').val() == 'particulier' ){ |
750 |
|
751 |
$('.personne_morale_fields input').each( |
752 |
function(){ |
753 |
$(this).val(''); |
754 |
} |
755 |
); |
756 |
$('.personne_morale_fields select option[value=""]').each( |
757 |
function(){ |
758 |
$(this).attr('selected', 'selected'); |
759 |
} |
760 |
); |
761 |
|
762 |
$('.personne_morale_fields').hide(); |
763 |
$('.particulier_fields').show(); |
764 |
} |
765 |
else { |
766 |
|
767 |
$('.particulier_fields input').each( |
768 |
function(){ |
769 |
$(this).val(''); |
770 |
} |
771 |
); |
772 |
$('.particulier_fields select option[value=""]').each( |
773 |
function(){ |
774 |
$(this).attr('selected', 'selected'); |
775 |
} |
776 |
); |
777 |
|
778 |
$('.particulier_fields').hide(); |
779 |
$('.personne_morale_fields').show(); |
780 |
} |
781 |
} |
782 |
|
783 |
/* |
784 |
Function de test des champs |
785 |
* */ |
786 |
function isAlpha(str) { |
787 |
return /^[a-zA-Z\/]+$/.test(str); |
788 |
} |
789 |
|
790 |
function isMail(str){ |
791 |
return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str); |
792 |
} |
793 |
|
794 |
function isPhoneNumber(str){ |
795 |
return /[0-9-()+]{3,20}/.test(str); |
796 |
} |
797 |
|
798 |
function testSeparator(obj){ |
799 |
|
800 |
if ( obj.value != 'A' && |
801 |
obj.value != '/' ) { |
802 |
|
803 |
alert('Saisissez uniquement un A ou un / comme séparateur'); |
804 |
obj.value = ''; |
805 |
} |
806 |
} |
807 |
|
808 |
/* FIN */ |
809 |
|
810 |
/* |
811 |
Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de |
812 |
référence cadastrale |
813 |
* */ |
814 |
function actionFormReferenceCadastrale(){ |
815 |
$('form').submit( |
816 |
function(){ |
817 |
|
818 |
getDataFieldReferenceCadastrale(); |
819 |
} |
820 |
); |
821 |
|
822 |
$('#moreFieldReferenceCadastrale' + |
823 |
($('.moreFieldReferenceCadastrale').length - 1 )). |
824 |
on("click", function() { |
825 |
$(this).before(newInputReferenceCadastrale()); |
826 |
}); |
827 |
|
828 |
} |
829 |
|
830 |
/* |
831 |
* Récupère les données saisies dans les champs de références cadastrales |
832 |
*/ |
833 |
function getDataFieldReferenceCadastrale(){ |
834 |
|
835 |
var reference_cadastrale = ''; |
836 |
var reference_cadastrale_temp = ''; |
837 |
|
838 |
$('.reference_cadastrale_custom_field').each( |
839 |
function(){ |
840 |
|
841 |
if ( $(this).val() == ';' ){ |
842 |
|
843 |
reference_cadastrale_bis = reference_cadastrale_temp ; |
844 |
|
845 |
while( reference_cadastrale_bis != ''){ |
846 |
if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*)*$/.test(reference_cadastrale_bis) ){ |
847 |
|
848 |
reference_cadastrale += reference_cadastrale_bis + ";"; |
849 |
break; |
850 |
} |
851 |
else{ |
852 |
|
853 |
reference_cadastrale_bis = reference_cadastrale_bis.slice( 0, -1); |
854 |
} |
855 |
} |
856 |
|
857 |
|
858 |
reference_cadastrale_temp = ''; |
859 |
} |
860 |
|
861 |
else { |
862 |
|
863 |
reference_cadastrale_temp += $(this).val(); |
864 |
} |
865 |
|
866 |
} |
867 |
); |
868 |
|
869 |
$('#terrain_references_cadastrales').val(reference_cadastrale); |
870 |
} |
871 |
|
872 |
/* |
873 |
Action pour l'ajout de nouvelle ligne |
874 |
* */ |
875 |
function actionLineFormReferenceCadastrale(){ |
876 |
$('#morelineReferenceCadastrale').click( |
877 |
function(){ |
878 |
|
879 |
$('.reference_cadastrale_custom_fields'). |
880 |
append( "<br/>" + fieldReferenceCadastraleBase()); |
881 |
|
882 |
$('#moreFieldReferenceCadastrale'+ |
883 |
($('.moreFieldReferenceCadastrale').length - 1 )). |
884 |
on("click", function() { |
885 |
$(this).before(newInputReferenceCadastrale()); |
886 |
}); |
887 |
|
888 |
|
889 |
} |
890 |
); |
891 |
} |
892 |
|
893 |
/* |
894 |
Met à jour le select demande_type dès qu'un |
895 |
dossier_autorisation_type_detaille est choisi |
896 |
* */ |
897 |
function changeDemandeType(){ |
898 |
|
899 |
var idDossierAutorisationTypeDetaille = |
900 |
$("#dossier_autorisation_type_detaille option:selected").val(); |
901 |
/* Récupère les données saisies dans les champs pour la référence cadastrale */ |
902 |
getDataFieldReferenceCadastrale(); |
903 |
|
904 |
if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){ |
905 |
|
906 |
changeDataSelect('demande_type','dossier_autorisation_type_detaille'); |
907 |
if ( $('#demande_type option').size() < 2 ) |
908 |
showFormsDemande(); |
909 |
|
910 |
$('#demande_type').parent().parent().show(); |
911 |
} |
912 |
else { |
913 |
hideFields(); |
914 |
} |
915 |
} |
916 |
|
917 |
/* |
918 |
Ajoute le code HTML des champs pour les références cadastrales |
919 |
* */ |
920 |
function addNewFieldReferencesCadastrales(){ |
921 |
$('.references_cadastrales_new_field').remove(); |
922 |
$('.moreFieldReferenceCadastrale').remove(); |
923 |
$('#morelineReferenceCadastrale').remove(); |
924 |
$('.buttonCadAdr').remove(); |
925 |
$('.localisation .fieldsetContent').prepend( |
926 |
'<div class="field field-type-text references_cadastrales_new_field" >'+ |
927 |
'<div class="form-libelle">' + |
928 |
'<label '+ |
929 |
'class="libelle-terrain_references_cadastrales" '+ |
930 |
'for="terrain_references_cadastrales">'+ |
931 |
' terrain_references_cadastrales '+ |
932 |
'</label>' + |
933 |
'</div>' + |
934 |
'<div class="form-content reference_cadastrale_custom_fields">' + |
935 |
fieldReferenceCadastraleBase() + |
936 |
'</div>' + |
937 |
'</div>' + |
938 |
'<div class="field field-type-text" id="morelineReferenceCadastrale">' + |
939 |
'<div class="form-libelle"></div>' + |
940 |
'<div class="form-content">' + |
941 |
' + ajouter d\'autres lignes' + |
942 |
'</div>' + |
943 |
'</div>' |
944 |
); |
945 |
$('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' + |
946 |
'<div class="form-libelle"></div>' + |
947 |
'<div class="form-content buttonCadAdr">' + |
948 |
'<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' + |
949 |
'</div>' + |
950 |
'</div>' ); |
951 |
} |
952 |
|
953 |
/* |
954 |
Séparateur caché ; |
955 |
* */ |
956 |
function hiddenSeparatorField(){ |
957 |
return '<input ' + |
958 |
'class="reference_cadastrale_custom_field " ' + |
959 |
'type="hidden" ' + |
960 |
'maxlength="2" ' + |
961 |
'size="2" ' + |
962 |
'value=";" />'; |
963 |
} |
964 |
|
965 |
/** |
966 |
* Test si la demande est sur dossier existant ou non |
967 |
**/ |
968 |
function isDossierExistant() { |
969 |
var id_demande_type = $('#demande_type').val(); |
970 |
$.ajax({ |
971 |
type: "GET", |
972 |
url: "../app/getDemandeNature.php?iddemandetype=" + id_demande_type , |
973 |
cache: false, |
974 |
success: function(val){ |
975 |
return val; |
976 |
} |
977 |
}); |
978 |
} |
979 |
/* |
980 |
Ajout d'une nouvelle ligne de champ |
981 |
* */ |
982 |
function fieldReferenceCadastraleBase(){ |
983 |
var reference_cadastrale = '<input ' + |
984 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
985 |
'type="text" ' + |
986 |
'onchange="VerifNum(this)" ' + |
987 |
'maxlength="4" ' + |
988 |
'size="4" '; |
989 |
// désactivation des champs de référence cadastrale |
990 |
if(isDossierExistant() != 'NOUV') { |
991 |
reference_cadastrale += 'disabled="disabled" '; |
992 |
} |
993 |
reference_cadastrale += 'value="" />'; |
994 |
|
995 |
reference_cadastrale += '<input ' + |
996 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
997 |
'type="text" ' + |
998 |
'maxlength="3" ' + |
999 |
'size="3" '; |
1000 |
if(isDossierExistant() != 'NOUV') { |
1001 |
reference_cadastrale += 'disabled="disabled" '; |
1002 |
} |
1003 |
reference_cadastrale += 'value="" '+ |
1004 |
'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>'; |
1005 |
reference_cadastrale += '<input ' + |
1006 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
1007 |
'type="text" ' + |
1008 |
'onchange="VerifNum(this)" ' + |
1009 |
'maxlength="5" ' + |
1010 |
'size="5" '; |
1011 |
if(isDossierExistant() != 'NOUV') { |
1012 |
reference_cadastrale += 'disabled="disabled" '; |
1013 |
} |
1014 |
reference_cadastrale += 'value="" />'; |
1015 |
if(isDossierExistant() != 'NOUV') { |
1016 |
reference_cadastrale += '<span id="moreFieldReferenceCadastrale' + |
1017 |
$('.moreFieldReferenceCadastrale').length + |
1018 |
'" class="moreFieldReferenceCadastrale">' + |
1019 |
hiddenSeparatorField() + |
1020 |
' + ajouter d\'autres champs' + |
1021 |
'</span>'; |
1022 |
} |
1023 |
|
1024 |
|
1025 |
return reference_cadastrale; |
1026 |
} |
1027 |
|
1028 |
/** |
1029 |
* Cache les champs inutules |
1030 |
**/ |
1031 |
function hideFields(){ |
1032 |
$('.demande_hidden_bloc').each( |
1033 |
function(){ |
1034 |
$(this).hide(); |
1035 |
} |
1036 |
); |
1037 |
|
1038 |
$('.field-type-text').hide(); |
1039 |
$('input[type=submit]').hide(); |
1040 |
$('#demande_type').parent().parent().hide(); |
1041 |
} |
1042 |
|
1043 |
/* |
1044 |
Affiche les champs dont on a besoin |
1045 |
* */ |
1046 |
function showFormsDemande(){ |
1047 |
$('.demande_hidden_bloc').each( |
1048 |
function(){ |
1049 |
$(this).show(); |
1050 |
} |
1051 |
); |
1052 |
formatFieldReferenceCadastrale(); |
1053 |
$('.field-type-text').show(); |
1054 |
$('input[type=submit]').show(); |
1055 |
$('.terrain_references_cadastrales_custom').hide(); |
1056 |
|
1057 |
$('#terrain_references_cadastrales').parent().parent().hide(); |
1058 |
} |
1059 |
|
1060 |
/* |
1061 |
Action au clique sur le bouton " + ajouter d'autres champs" |
1062 |
* */ |
1063 |
function newInputReferenceCadastrale(){ |
1064 |
return '<input ' + |
1065 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
1066 |
'type="text" ' + |
1067 |
'maxlength="1" ' + |
1068 |
'size="1" ' + |
1069 |
'value="" ' + |
1070 |
'onchange="testSeparator(this);"/>' + |
1071 |
'<input ' + |
1072 |
'class="champFormulaire reference_cadastrale_custom_field" ' + |
1073 |
'type="text" ' + |
1074 |
'onchange="VerifNum(this)" ' + |
1075 |
'maxlength="4" ' + |
1076 |
'size="4" ' + |
1077 |
'value="" />'; |
1078 |
} |
1079 |
|
1080 |
|
1081 |
|
1082 |
/** |
1083 |
* Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau |
1084 |
* tableau de bord |
1085 |
*/ |
1086 |
function widget_bind_move_actions() {} |
1087 |
function widget_bind_add_action() {} |
1088 |
function widget_bind_edit_actions(widget_selector) {} |
1089 |
|
1090 |
// Cette fonction permet d'associer a un arbre html les fonctions jquery |
1091 |
// necessaires. Elle permet notamment lors du chargement d'une page en ajax |
1092 |
// d'associer le comportement du bouton, la gestion du calendrier et la gestion |
1093 |
// du fieldset. |
1094 |
function om_initialize_content() { |
1095 |
// Gestion du skin des boutons, liens |
1096 |
link_bind_button(); |
1097 |
// Gestion du calendrier avec le widget datepicker de jqueryui |
1098 |
inputdate_bind_datepicker(); |
1099 |
// Gestion des fieldset avec le plugin collaspsible de jquery |
1100 |
fieldset_bind_collapsible(); |
1101 |
|
1102 |
changeDemandeurType('qualite'); |
1103 |
addSearchIcon(); |
1104 |
addDivDialog('.bloc_demandeur'); |
1105 |
|
1106 |
} |
1107 |
|
1108 |
/* |
1109 |
* Marque comme lu une consultation |
1110 |
*/ |
1111 |
function markedAsRead(id, objet, objetc){ |
1112 |
|
1113 |
/*Vérifie que l'identifiant passé en paramètre est bien un chiffre |
1114 |
* et que le type d'objet est défini |
1115 |
* */ |
1116 |
if ( $.isNumeric(id) && objet != '' ){ |
1117 |
|
1118 |
donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc; |
1119 |
$.ajax({ |
1120 |
type: "GET", |
1121 |
url: "../app/marquer_comme_lu.php" + donnees , |
1122 |
cache: false, |
1123 |
success: function(html){ |
1124 |
|
1125 |
$('#sousform-' + objet + ' .message').remove(); |
1126 |
|
1127 |
/*Change la valeur affiché et affiche un message valide*/ |
1128 |
if ( $.parseJSON(html) == "Mise a jour effectue avec succes"){ |
1129 |
|
1130 |
// On modife le champ lu |
1131 |
$('#lu').html('Oui'); |
1132 |
// On supprime l'action |
1133 |
$('span.lu-16').parent().parent().remove(); |
1134 |
// On affiche le message |
1135 |
$('#sousform-' + objet + ' .subtitle').after( |
1136 |
'<div ' + |
1137 |
'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' + |
1138 |
'<p>' + |
1139 |
'<span class="ui-icon ui-icon-info"></span>' + |
1140 |
'<span class="text">' + |
1141 |
$.parseJSON(html) + |
1142 |
'</span>' + |
1143 |
'</p>' + |
1144 |
'</div>' |
1145 |
); |
1146 |
} |
1147 |
/*Affichage d'une erreur*/ |
1148 |
else{ |
1149 |
$('#sousform-' + objet + ' .subtitle').after( |
1150 |
'<div ' + |
1151 |
'class="message ui-widget ui-corner-all ui-state-highlight ui-state-error">' + |
1152 |
'<p>' + |
1153 |
'<span class="ui-icon ui-icon-info"></span>' + |
1154 |
'<span class="text">' + |
1155 |
$.parseJSON(html) + |
1156 |
'</span>' + |
1157 |
'</p>' + |
1158 |
'</div>' |
1159 |
); |
1160 |
} |
1161 |
} |
1162 |
}); |
1163 |
} |
1164 |
} |