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