/[openfoncier]/trunk/app/js/script.js
ViewVC logotype

Annotation of /trunk/app/js/script.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1351 - (hide annotations)
Fri Mar 8 16:47:03 2013 UTC (11 years, 11 months ago) by vpihour
File MIME type: application/javascript
File size: 56022 byte(s)
Ajout des actions sur les dossiers à l'ordre du jour dans la visualisation d'une commission

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26