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

Diff of /trunk/app/js/script.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2201 by softime, Fri Aug 30 11:14:48 2013 UTC revision 2716 by softime, Fri Feb 7 16:24:11 2014 UTC
# Line 91  function bible_return(form, champ) { Line 91  function bible_return(form, champ) {
91      // Récupération du contenu de chacun des éléments cochés      // Récupération du contenu de chacun des éléments cochés
92      $("span.content").each(function( index ) {      $("span.content").each(function( index ) {
93          if (document.getElementById('checkbox'+index).checked == true) {          if (document.getElementById('checkbox'+index).checked == true) {
94              listeElement += $(this).text() + '\r\n\r';              listeElement += $(this).attr('title').replace(/\r\n|\n|\r/g, '<br />')+'<br />';
95          }          }
96      });      });
97      // Récupération du textarea à remplir      obj = tinyMCE.get(champ);
     obj = $("form[name|="+form+"] #"+champ);  
98      // Remplissage du textarea et déclenchement du trigger autosize      // Remplissage du textarea et déclenchement du trigger autosize
99      $(obj).val(obj.val()+listeElement+"\r").trigger('autosize');      obj.setContent(obj.getContent()+"<br/>"+listeElement+"<br/>");
100      // Fermeture de la boite de dialog      // Fermeture de la boite de dialog
101      $('#upload-container').dialog('close').remove();      $('#upload-container').dialog('close').remove();
102  }  }
# Line 157  function VerifNumdec(champ) { Line 156  function VerifNumdec(champ) {
156      //}      //}
157            
158  }  }
159    
160    /**
161     * Cette fonction permet de compléter le champ par des zéro par la gauche
162     * @param  string  champ  Champ concerné
163     * @param  integer length Taille du champ retourné
164     */
165    function str_pad_js(champ, length) {
166    
167        // Initialisation de la variable str
168        var str = '' + champ.value;
169    
170        // Si le champ n'est pas vide
171        if (str != '') {
172            // Tant que la taille n'est pas atteint,
173            // on ajoute des 0
174            while (str.length < length) {
175                str = '0' + str;
176            }
177            // Modifie le champ
178            champ.value = str;
179        }
180    }
181    
182  // Ce widget permet de charger les données d'un select en ajax  // Ce widget permet de charger les données d'un select en ajax
183  function changeDataSelect(tableName, linkedField, joker){  function changeDataSelect(tableName, linkedField, joker){
184      var id_dossierAutorisation = $("#dossier_autorisation").val();      var id_dossierAutorisation = $("#dossier_autorisation").val();
# Line 209  function changeDataSelect(tableName, lin Line 231  function changeDataSelect(tableName, lin
231      });      });
232  }  }
233    
 // Ce widget permet de charger les données de la demande type en ajax  
 function changeDemandeTypeDataSelect(){  
     // Récupération de l'id du dossier_autorisation_type_detaille  
     var id_datd = $("#dossier_autorisation_type_detaille").val();  
   
     // Récupération de la liste des paramètres de l'url  
     var params = extractUrlParams();  
     if ( typeof params['idx_dossier'] === "undefined" ){  
         params['idx_dossier'] = '';  
     }  
   
     link = "../app/listDemandeType.php?idx=" + params['idx_dossier'] + "&datd="+ id_datd;  
   
     var val_tableName = $('#demande_type').val();  
     $.ajax({  
         type: "GET",  
         url: link,  
         cache: false,  
         dataType: "json",  
         success: function(res){  
             $('#demande_type').empty();  
             var selected = "";  
   
             for ( j=0 ; j < res[0].length ; j++ ){  
   
                 $('#demande_type').append(  
                     '<option value="'+res[0][j]+'"'+selected+' >'+res[1][j]+'</option>'  
                 );  
                   
             }  
             $('#demande_type').val(val_tableName);  
         },  
         async: false  
     });  
 }  
   
234  /**  /**
235   * Fonction de récupération des paramètres GET de la page   * Fonction de récupération des paramètres GET de la page
236   * @return Array Tableau associatif contenant les paramètres GET   * @return Array Tableau associatif contenant les paramètres GET
# Line 619  function affichageBoutonsDemandeurs(){ Line 605  function affichageBoutonsDemandeurs(){
605    
606      if ((url.indexOf("form.php?obj=demande&") != -1      if ((url.indexOf("form.php?obj=demande&") != -1
607          || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1          || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
608          || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)          || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
609            || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
610          && $("form[name=f1] .form-is-valid").size() > 0 ) {          && $("form[name=f1] .form-is-valid").size() > 0 ) {
611    
612          $('#add_petitionnaire_principal').hide();          $('#add_petitionnaire_principal').hide();
# Line 703  $(function() { Line 690  $(function() {
690    
691          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale();
692      }      }
693    
694        // S'il y a une erreur durant la validation lors de l'ajout
695        // d'une nouvelle demande
696        if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
697            && (url.indexOf("&action=3") == -1
698            && url.indexOf("&action=2") == -1
699            && url.indexOf("&validation") != -1
700            && $(".form-is-valid").size() == 0)) {
701    
702            addButtonCadastraleAdesse();
703            formatFieldReferenceCadastrale();
704        }
705            
706      if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1      if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
707          && (url.indexOf("&action=3") == -1          && (url.indexOf("&action=3") == -1
708          && url.indexOf("&action=2") == -1          && url.indexOf("&action=2") == -1
709            && url.indexOf("&validation") == -1
710          && $(".form-is-valid").size() == 0)) {          && $(".form-is-valid").size() == 0)) {
711                    
712          addButtonCadastraleAdesse();          addButtonCadastraleAdesse();
# Line 715  $(function() { Line 715  $(function() {
715            
716      // Ajout de demande      // Ajout de demande
717      if ((url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1      if ((url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
718          || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)          || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
719            || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
720          && url.indexOf("&action=0") != -1 ){          && url.indexOf("&action=0") != -1 ){
721    
722          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
# Line 723  $(function() { Line 724  $(function() {
724      }      }
725            
726      // Ajout de demande sur dossier existant      // Ajout de demande sur dossier existant
727      if (url.indexOf("form.php?obj=demande_dossier_existant&") != -1      if ((url.indexOf("form.php?obj=demande_dossier_encours&") != -1
728            || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
729          && url.indexOf("&action=0") != -1 ){          && url.indexOf("&action=0") != -1 ){
730    
731          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/          //Cache les champs avant que dossier_autorisation_type_detaille soit choisi
732          hideFields();          hideFields();
733          changeDemandeType();          //On affiche le select du type de la demande
734            $('#demande_type').parent().parent().show();
735      }      }
736            
737      // Modification de demande      // Modification de demande
# Line 736  $(function() { Line 739  $(function() {
739          (          (
740              url.indexOf("form.php?obj=demande&") != -1              url.indexOf("form.php?obj=demande&") != -1
741              || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1              || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
742              || url.indexOf("form.php?obj=demande_dossier_existant&") != -1              || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
743                || url.indexOf("form.php?obj=demande_autre_dossier&") != -1
744          )          )
745          && url.indexOf("&action") == -1          && url.indexOf("&action") == -1
746      ){      ){
# Line 1043  function addActionSearchIcon(){ Line 1047  function addActionSearchIcon(){
1047                      $('#dialog').html(res);                      $('#dialog').html(res);
1048                                                
1049                      $( "#dialog" ).dialog({                      $( "#dialog" ).dialog({
1050                            dialogClass: "dialog-search-frequent-"+objName,
1051                          modal: true,                          modal: true,
1052                          buttons : {                          buttons : {
1053                              Valider: function(){                              Valider: function(){
# Line 1258  function changeDemandeType(){ Line 1263  function changeDemandeType(){
1263      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
1264                    
1265          /*Met à jour le select de demande_type avec les données correspondant*/          /*Met à jour le select de demande_type avec les données correspondant*/
1266          changeDemandeTypeDataSelect();          filterSelect(idDossierAutorisationTypeDetaille, 'demande_type', 'dossier_autorisation_type_detaille', 'demande');
1267          if ( $('#demande_type option').size() < 2 ) {          if ( $('#demande_type option').size() < 2 ) {
1268              showFormsDemande();              showFormsDemande();
1269          }          }
# Line 1318  function addNewFieldReferencesCadastrale Line 1323  function addNewFieldReferencesCadastrale
1323  }  }
1324    
1325  function addButtonCadastraleAdesse(){  function addButtonCadastraleAdesse(){
1326    
1327        // Permet d'ajouter le bouton de récupération d'adresse si sig activé
1328        if ($('#option_sig').val() == 'sig_externe'){
1329            
1330      $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +          $('#terrain_references_cadastrales').parent().parent().after('<div class="field field-type-text" >' +
1331          '<div class="form-libelle"></div>' +              '<div class="form-libelle"></div>' +
1332          '<div class="form-content buttonCadAdr">' +              '<div class="form-content buttonCadAdr">' +
1333              '<input id="cad-adr-them" '+                  '<input id="cad-adr-them" '+
1334                  'class="ui-button ui-widget ui-state-default ui-corner-all" '+                      'class="ui-button ui-widget ui-state-default ui-corner-all" '+
1335                  'type="button" '+                      'type="button" '+
1336                  'onclick="getAdressFromCadastrale();" '+                      'onclick="getAdressFromCadastrale();" '+
1337                  'value="Cadastrale = > Adresse"/>' +                      'value="Récupérer l\'adresse de la parcelle"/>' +
1338          '</div>' +              '</div>' +
1339     '</div>' );         '</div>' );
1340        }
1341  }  }
1342    
1343  /*  /*
# Line 1380  function fieldReferenceCadastraleBase(){ Line 1389  function fieldReferenceCadastraleBase(){
1389      var reference_cadastrale = '<input ' +      var reference_cadastrale = '<input ' +
1390                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1391                  'type="text" ' +                  'type="text" ' +
1392                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this);str_pad_js(this, 3);" ' +
1393                  'maxlength="4" ' +                  'maxlength="3" ' +
1394                  'size="4" '+                  'size="3" '+
1395                  'placeholder="Quart." ';                  'placeholder="Quart." ';
1396                                    
1397      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
# Line 1405  function fieldReferenceCadastraleBase(){ Line 1414  function fieldReferenceCadastraleBase(){
1414      }      }
1415            
1416      reference_cadastrale += 'value="" '+      reference_cadastrale += 'value="" '+
1417                  'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>';                  'onchange="if ( !isAlpha(this.value) && this.value != \'\' ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }; this.value=this.value.toUpperCase();"/>';
1418      reference_cadastrale += '<input ' +      reference_cadastrale += '<input ' +
1419                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1420                  'type="text" ' +                  'type="text" ' +
1421                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this);str_pad_js(this, 4);" ' +
1422                  'maxlength="5" ' +                  'maxlength="4" ' +
1423                  'size="5" '+                  'size="4" '+
1424                  'placeholder="Parc." ';                  'placeholder="Parc." ';
1425            
1426      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
# Line 1541  function newInputReferenceCadastrale(){ Line 1550  function newInputReferenceCadastrale(){
1550          '<input ' +          '<input ' +
1551              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1552              'type="text" ' +              'type="text" ' +
1553              'onchange="VerifNum(this)" ' +              'onchange="VerifNum(this);str_pad_js(this, 4)" ' +
1554              'maxlength="4" ' +              'maxlength="4" ' +
1555              'size="4" ' +              'size="4" ' +
1556              'placeholder="Parc." ' +              'placeholder="Parc." ' +
# Line 1559  function om_initialize_content() { Line 1568  function om_initialize_content() {
1568      link_bind_button();      link_bind_button();
1569      // Gestion du calendrier avec le widget datepicker de jqueryui      // Gestion du calendrier avec le widget datepicker de jqueryui
1570      inputdate_bind_datepicker();      inputdate_bind_datepicker();
1571        // Gestion des WYSIWYG
1572        inputText_bind_tinyMCE_extended();
1573        inputText_bind_tinyMCE_simple();
1574        inputText_bind_tinyMCE();
1575      // Gestion des fieldset avec le plugin collaspsible de jquery      // Gestion des fieldset avec le plugin collaspsible de jquery
1576      fieldset_bind_collapsible();      fieldset_bind_collapsible();
1577      // Gestion du picker color avec le plugin minicolors      // Gestion du picker color avec le plugin minicolors
# Line 1851  function addDossierCommission(id, contai Line 1864  function addDossierCommission(id, contai
1864          url: link,          url: link,
1865          cache: false,          cache: false,
1866          dataType: "json",          dataType: "json",
1867          success: function(i, obj){          success: function(i){
1868                            
1869              $(container + " .message").remove();              $(container + " .message").remove();
1870              $(container).prepend(              $(container).prepend(
# Line 1868  function addDossierCommission(id, contai Line 1881  function addDossierCommission(id, contai
1881              if ( i.return == "1" ){              if ( i.return == "1" ){
1882                                    
1883                  $(container + ' .message').addClass("ui-state-ok");                  $(container + ' .message').addClass("ui-state-ok");
1884                  $(container + ' .message .text').html("Dossier ajouté avec succès.");                  $(container + ' .message .text').html(i.message);
1885              }              }
1886              //Dossier existe mais non ajouté              //Dossier existe mais non ajouté
1887              else if( i.return == "0" ){              else if( i.return == "0" ){
1888                                    
1889                  $(container + ' .message').addClass("ui-state-error");                  $(container + ' .message').addClass("ui-state-error");
1890                  $(container + ' .message .text').html("Une erreur s'est produite lors de l'ajout de ce dossier. " +                  $(container + ' .message .text').html(i.message);
                     "Veuillez contacter votre administrateur");  
1891              }              }
1892              //Le dossier n'existe pas              //Le dossier n'existe pas
1893              else if( i.return == "-1" ){              else if( i.return == "-1" ){
1894                                    
1895                  $(container + ' .message').addClass("ui-state-error");                  $(container + ' .message').addClass("ui-state-error");
1896                  $(container + ' .message .text').html("Ce dossier n'existe pas.");                  $(container + ' .message .text').html(i.message);
1897              }              }
1898              //Le dossier est déjà à l'ordre du jour              //Le dossier est déjà à l'ordre du jour
1899              else if( i.return == "2" ){              else if( i.return == "2" ){
1900                                    
1901                  $(container + ' .message').addClass("ui-state-error");                  $(container + ' .message').addClass("ui-state-error");
1902                  $(container + ' .message .text').html("Ce dossier est deja a l'ordre du jour.");                  $(container + ' .message .text').html(i.message);
1903                }
1904                //Le dossier est déjà à l'ordre du jour
1905                else if( i.return == "-2" ){
1906                    
1907                    $(container + ' .message').addClass("ui-state-error");
1908                    $(container + ' .message .text').html(i.message);
1909              }              }
1910                            
1911          },          },
# Line 2170  function finalizeDocument(idx, obj, sous Line 2188  function finalizeDocument(idx, obj, sous
2188              );              );
2189                            
2190              //Si la finalisation a été effectuée avec succès              //Si la finalisation a été effectuée avec succès
2191              if ( data.pdf != -1 ){              if ( typeof data.pdf !== "undefined" && data.pdf != -1 ){
2192                                    
2193                  // On change le lien                  // On change le lien
2194                  var etat = ((status == 1)?'':'de') + 'finalis';                  var etat = ((status == 1)?'':'de') + 'finalis';
# Line 2185  function finalizeDocument(idx, obj, sous Line 2203  function finalizeDocument(idx, obj, sous
2203                  //Si on le document est finalisé, on cache les actions du portlet                  //Si on le document est finalisé, on cache les actions du portlet
2204                  if ( status == 1 ){                  if ( status == 1 ){
2205                                            
2206                      $(".edit-16").parent().parent().remove();                      $("#"+sousform+obj+" .edit-16").parent().parent().remove();
2207                      $(".delete-16").parent().parent().remove();                      $("#"+sousform+obj+" .delete-16").parent().parent().remove();
2208                  }                  }
2209                  else{                  else{
2210                                            
# Line 2203  function finalizeDocument(idx, obj, sous Line 2221  function finalizeDocument(idx, obj, sous
2221                          actions += data.actions.supprimer;                          actions += data.actions.supprimer;
2222                      }                      }
2223                                            
2224                      $('.portlet-list').prepend(actions);                      $('#'+sousform+obj+' .portlet-list').prepend(actions);
2225                  }                  }
2226                                    
2227                  //On affiche un message de valisation                  //On affiche un message de valisation
2228                  $('#'+sousform+obj+' .message').addClass("ui-state-valid");                  $('#'+sousform+obj+' .message').addClass("ui-state-valid");
2229                  $('#'+sousform+obj+' .message .text').html(                  $('#'+sousform+obj+' .message .text').html(data.message);
                     "La "+etat+"ation du document s'est effectuée avec succès."  
                 );  
2230              }              }
2231              // Si une erreur s'est produite              // Si une erreur s'est produite
2232              else {              else {
2233                                    
2234                  //On affiche un message de validation                  //On affiche un message de validation
2235                  $('#'+sousform+obj+' .message').addClass("ui-state-error");                  $('#'+sousform+obj+' .message').addClass("ui-state-error");
2236                  $('#'+sousform+obj+' .message .text').html(                  $('#'+sousform+obj+' .message .text').html(data.message);
2237                      "Une erreur s'est produite lors de la finalisation du document."              }
2238                  );          },
2239            error: function(jqXHR, textStatus, errorThrown) {
2240                
2241                //Si un parsererror est retourné, du code HTML s'est affiché dans
2242                //l'application, on affiche ce code
2243                if ( textStatus === "parsererror" ){
2244                    $('#'+sousform+obj+' .message.ui-widget.ui-corner-all.ui-state-highlight').remove()
2245                    $('#'+sousform+obj+' a.retour').first().before(jqXHR.responseText);
2246              }              }
2247          }          }
2248      });      });
# Line 2311  function setDataFrequent(id,obj) { Line 2334  function setDataFrequent(id,obj) {
2334   * @param  string   id          Identifiant du dossier   * @param  string   id          Identifiant du dossier
2335   * @param  string   fieldname   Nom du champ   * @param  string   fieldname   Nom du champ
2336   * @param  Function callback    Fonction mettant à jour l'interface des données   * @param  Function callback    Fonction mettant à jour l'interface des données
2337     * @param  string   confirm_message     Texte du message de confirmation
2338   */   */
2339  function geolocalisation_treatment(id, fieldname, callback) {  function geolocalisation_treatment(id, fieldname, callback, confirm_message) {
2340    
2341        // Overlay de confirmation du traitement
2342        if (confirm_message != null && confirm_message != '') {
2343            var dialog_confirm = confirm(confirm_message);
2344            if( dialog_confirm == false ){
2345              return false;
2346            }
2347        }
2348    
2349      // Affichage du spinner      // Affichage du spinner
2350      $('#'+fieldname).each(      $('#'+fieldname).each(
# Line 2333  function geolocalisation_treatment(id, f Line 2365  function geolocalisation_treatment(id, f
2365          cache: false,          cache: false,
2366          dataType: "json",          dataType: "json",
2367          success: function(res){          success: function(res){
2368              //alert(res['return']['coordX']);              //
2369              $('#'+fieldname).each(              $('#'+fieldname).each(
2370                  function(){                  function(){
2371                      $(this).children().children().children(".text").text(res['log']['message']);                      $(this).children().children().children(".text").text(res['log']['message']);
# Line 2360  function geolocalisation_treatment(id, f Line 2392  function geolocalisation_treatment(id, f
2392   * @param array res Résultat après le traitement du script PHP   * @param array res Résultat après le traitement du script PHP
2393   */   */
2394  function set_geolocalisation_message(res) {  function set_geolocalisation_message(res) {
2395      $('#geolocalisation-message').remove();      // Si il y a un message d'erreur
2396        if ($('#geolocalisation-message')[0]) {
2397            // Supprime le message
2398            $('#geolocalisation-message').remove();
2399            // Modifie les messages des autres fonctionnalités
2400            $('#calcul_emprise').each(
2401                function() {
2402                    $(this).children().removeClass();
2403                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2404                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2405                }
2406            );
2407            $('#calcul_centroide').each(
2408                function() {
2409                    $(this).children().removeClass();
2410                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2411                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2412                }
2413            );
2414            $('#recup_contrainte').each(
2415                function() {
2416                    $(this).children().removeClass();
2417                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2418                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2419                }
2420            );
2421        }
2422        
2423  }  }
2424    
2425  /**  /**
2426   * Met à jour le champ centroïde à jour   * Met le champ centroïde à jour
2427   * @param  array   res  Résultat après le traitement du script PHP   * @param  array   res  Résultat après le traitement du script PHP
2428   */   */
2429  function set_geolocalisation_centroide(res) {  function set_geolocalisation_centroide(res) {
2430      $('#centroide').text(res['return']['coordX']+", "+res['return']['coordY']);      
2431        var content = "<a id='action-form-localiser'"+
2432                " target='_SIG' href='../app/redirect_plan_sig.php?idx="+res['return']['dossierID']+"'>"+
2433                "<span class='om-icon om-icon-16 om-icon-fix sig-16' title='Localiser'>Localiser</span> "+
2434                " POINT("+res['return']['coordX']+" "+res['return']['coordY']+")"+
2435                " </a>";
2436        
2437        $('span#centroide').html(content);
2438  }  }
2439    
2440  /**  /**
2441   * Met le champ servitude à jour   * Met le champ contrainte à jour
2442   * @param  array   res  Résultat après le traitement du script PHP   * @param  array   res  Résultat après le traitement du script PHP
2443   */   */
2444  function set_geolocalisation_contrainte(res) {  function set_geolocalisation_contrainte(res) {
2445      $('#servitude').text(res['return']['servitude']);      // Contenus du champ contrainte
2446        var content = $('span#msg_contrainte_sig').html();
2447        // Si aucune contraintes est récupérées du SIG
2448        if (res['dossier_contrainte']['nb_contrainte_sig'] == 0) {
2449            content = res['dossier_contrainte']['msg_contrainte_sig_empty'];
2450        }
2451        // S'il y a des contraintes récupérées
2452        if (res['dossier_contrainte']['nb_contrainte_sig'] != 0) {
2453            content = res['dossier_contrainte']['nb_contrainte_sig'] + " " + res['dossier_contrainte']['msg_contrainte_sig']
2454        }
2455        // Affiche le message
2456        $('span#msg_contrainte_sig').html(content);
2457  }  }
2458    
2459  /**  /**
# Line 2388  function redirection_elyxweb(res) { Line 2465  function redirection_elyxweb(res) {
2465  }  }
2466    
2467  /**  /**
2468     * Traitement du bouton permettant de calculer toutes les données géographiques
2469     * @param  string   id                  Identifiant du dossier
2470     * @param  string   confirm_message     Texte du message de confirmation
2471     */
2472    function all_geolocalisation_treatments(id, confirm_message) {
2473    
2474        // Overlay de confirmation du traitement
2475        if (confirm_message != null && confirm_message != '') {
2476            var dialog_confirm = confirm(confirm_message);
2477            if( dialog_confirm == false ){
2478              return false;
2479            }
2480        }
2481    
2482        // Initialisation des variables utilisées en paramètres
2483        var fieldname = '';
2484        var callback = '';
2485        var confirm_message = '';
2486        var flag = '';
2487    
2488        // Modification des variables utilisées en paramètres pour "Vérifier les
2489        // parcelles"
2490        fieldname = 'verif_parcelle';
2491        callback = set_geolocalisation_message;
2492        // Traitement "Vérifier les parcelles"
2493        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2494    
2495        // Positionne le flag sur le message de "Vérifier les parcelles"
2496        flag = $('#'+fieldname+"-message").attr("class");
2497        // Si c'est un message d'erreur on arrete le traitement
2498        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2499            return false;
2500        }
2501    
2502        // Modification des variables utilisées en paramètres pour "Calculer
2503        // l'emprise"
2504        fieldname = 'calcul_emprise';
2505        callback = '';
2506        // Traitement "Calculer l'emprise"
2507        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2508    
2509        // Positionne le flag sur le message de "Calculer l'emprise"
2510        flag = $('#'+fieldname+"-message").attr("class");
2511        // Si c'est un message d'erreur on arrete le traitement
2512        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2513            return false;
2514        }
2515    
2516        // Modification des variables utilisées en paramètres pour "Calculer le
2517        // centroïde"
2518        fieldname = 'calcul_centroide';
2519        callback = set_geolocalisation_centroide;
2520        // Traitement "Calculer le centroïde"
2521        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2522    
2523        // Positionne le flag sur le message de "Calculer le centroïde"
2524        flag = $('#'+fieldname+"-message").attr("class");
2525        // Si c'est un message d'erreur on arrete le traitement
2526        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2527            return false;
2528        }
2529    
2530        // Modification des variables utilisées en paramètres pour "Récupérer les
2531        // contraintes"
2532        fieldname = 'recup_contrainte';
2533        callback = set_geolocalisation_contrainte;
2534        //Traitement "Récupérer les contraintes"
2535        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2536        
2537    }
2538    
2539    /**
2540   * Remplit le formulaire avec l'adresse trouvée ou affiche un message d'erreur   * Remplit le formulaire avec l'adresse trouvée ou affiche un message d'erreur
2541   */   */
2542  function getAdressFromCadastrale(){  function getAdressFromCadastrale(){
# Line 2483  function getAdressFromCadastrale(){ Line 2632  function getAdressFromCadastrale(){
2632          async: false          async: false
2633      });      });
2634  }  }
2635    
2636    /**
2637     * Modifie les champs requis pour le formulaire demande_type
2638     * @param  integer  demande_nature                         Identifiant
2639     * @param  string   lib_dossier_autorisation_type_detaille Libellé du champ
2640     * dossier_autorisation_type_detaille
2641     * @param  string   lib_dossier_instruction_type           Libellé du champ
2642     * dossier_instruction_type
2643     */
2644    function required_fields_demande_type(demande_nature, lib_dossier_autorisation_type_detaille, lib_dossier_instruction_type) {
2645    
2646        // Lien
2647        link = "../app/getDemandeNatureInfo.php?demande_nature=" + demande_nature;
2648    
2649        // Traitement
2650        $.ajax({
2651            type: "GET",
2652            url: link,
2653            cache: false,
2654            dataType: "json",
2655            success: function(demande_nature_info) {
2656    
2657                // On enlève le "*" au libellé du champ
2658                // dossier_autorisation_type_detaille pour montrer qu'il n'est
2659                // pas obligatoire
2660                $("#lib-dossier_autorisation_type_detaille").text('');
2661                $("#lib-dossier_autorisation_type_detaille")
2662                    .html(lib_dossier_autorisation_type_detaille);
2663    
2664                // On enlève le "*" au libellé du champ
2665                // dossier_instruction_type pour montrer qu'il n'est
2666                // pas obligatoire
2667                $("#lib-dossier_instruction_type").text('');
2668                $("#lib-dossier_instruction_type")
2669                    .html(lib_dossier_instruction_type);
2670                
2671                // Si c'est une nouvelle demande
2672                if (demande_nature_info != ''
2673                    && demande_nature_info != null) {
2674    
2675                    if (demande_nature_info['code'] == 'NOUV') {
2676    
2677                        // On ajoute le "*" au libellé du champ
2678                        // dossier_autorisation_type_detaille pour montrer qu'il est
2679                        // obligatoire
2680                        $("#lib-dossier_autorisation_type_detaille").text('');
2681                        $("#lib-dossier_autorisation_type_detaille")
2682                            .html(lib_dossier_autorisation_type_detaille + ' <span class="not-null-tag">*</span>');
2683    
2684                        // On ajoute le "*" au libellé du champ
2685                        // dossier_instruction_type pour montrer qu'il est
2686                        // obligatoire
2687                        $("#lib-dossier_instruction_type").text('');
2688                        $("#lib-dossier_instruction_type")
2689                            .html(lib_dossier_instruction_type + ' <span class="not-null-tag">*</span>');
2690    
2691                    }
2692    
2693                }
2694                
2695            },
2696            async:false
2697        });
2698    }
2699    
2700    /**
2701     * Appel au chargement de la page
2702     **/
2703    $(function() {
2704    
2705        // url de la page
2706        url = document.location + "";
2707    
2708        // Si dans le formulaire des type de demande
2709        // et que c'est en mode ajout ou modifier
2710        if (url.indexOf("form.php?obj=demande_type&") != -1
2711            && (url.indexOf("&action=0") != -1
2712            || url.indexOf("&action=1") != -1
2713            || url.indexOf("&validation=") != -1)) {
2714    
2715            // Récupère les paramètres nécessaires
2716            var demande_nature = $("#demande_nature").val();
2717            var lib_dossier_autorisation_type_detaille = $("#lib-dossier_autorisation_type_detaille").text();
2718            var lib_dossier_instruction_type = $("#lib-dossier_instruction_type").text();
2719    
2720            // Appelle la fonction pour indiquer si les champs sont requis ou non
2721            required_fields_demande_type(demande_nature, lib_dossier_autorisation_type_detaille, lib_dossier_instruction_type);
2722        }
2723    
2724    });
2725    
2726    /**
2727     * Cache les champs du formulaire événement
2728     * @param  array fields Tableau des champs
2729     */
2730    function hideFieldsEvenement(fields) {
2731    
2732        // Pour chaque champ
2733        for (var cpt = 0; cpt < fields.length; cpt++) {
2734    
2735            $('#' + fields[cpt]).each(
2736                function(){
2737    
2738                    // Récupère la balise parent et la valeur
2739                    var parentField = $(this).parent();
2740                    var valueField = $(this).val();
2741                    // Supprime le champ
2742                    $(this).remove();
2743                    // Affiche le champ en tant que static
2744                    parentField.append('<span id="'+fields[cpt]+'" class="field_value">'+valueField+'</span>');
2745                }
2746            );
2747    
2748        }
2749        
2750        // Cache les champs "evenement_retour_ar" et "evenement_retour_signature"
2751        $('#evenement_retour_ar').parent().parent().hide();
2752        $('#evenement_retour_signature').parent().parent().hide();
2753    }
2754    
2755    /**
2756     * Affiche les champs du formulaire événement
2757     * @param  array fields Tableau des champs
2758     */
2759    function showFieldsEvenement(fields) {
2760    
2761        // Pour chaque champ
2762        for (var cpt = 0; cpt < fields.length; cpt++) {
2763    
2764            $('#' + fields[cpt]).each(
2765                function(){
2766    
2767                    // Récupère la balise parent et la valeur
2768                    var parentField = $(this).parent();
2769                    var valueField = $(this).text();
2770                    // Supprime le champ
2771                    $(this).remove();
2772    
2773                    // Si le champ est restriction
2774                    if (this.id == 'restriction') {
2775    
2776                        // Réaffiche le champ en type text
2777                        parentField.append('<input id="'+this.id+'" class="champFormulaire" type="text" maxlength="60" size="30" value="'+ valueField +'" name="'+this.id+'">');
2778                    } else {
2779    
2780                        // Réaffiche les selects
2781                        parentField.append('<select id="'+this.id+'" class="champFormulaire" size="1" name="'+this.id+'"></select>');
2782                        filterSelect(valueField, fields[cpt], 'delai', 'evenement');
2783                    }
2784                }
2785            );
2786    
2787        }
2788    
2789        // Affiche les champs "evenement_retour_ar" et "evenement_retour_signature"
2790        $('#evenement_retour_ar').parent().parent().show();
2791        $('#evenement_retour_signature').parent().parent().show();
2792    }
2793    
2794    /**
2795     * Action onchange sur la case à cocher "retour" du formulaire "evenement"
2796     * @param  object field Champ de type booléen
2797     */
2798    function retourOnchangeEvenement(field) {
2799    
2800        // liste des champs à modifier dans le formulaire
2801        var fields = new Array(
2802            'restriction',
2803            'delai',
2804            'accord_tacite',
2805            'delai_notification',
2806            'avis_decision'
2807        );
2808    
2809        // Si le champ booléen est à 'Oui'
2810        if (field.value == 'Oui') {
2811            // Cache et rend static les champs de la liste
2812            hideFieldsEvenement(fields);
2813        } else {
2814            // Affiche et rend modifiable les champs de la liste
2815            showFieldsEvenement(fields);
2816        }
2817    }
2818    
2819    function dossierContrainteValidationForm(objsf, link, formulaire) {
2820        // composition de la chaine data en fonction des elements du formulaire
2821        var data = "";
2822        if (formulaire) {
2823            for (i=0; i<formulaire.elements.length; i++) {
2824                data += formulaire.elements[i].name+"="+encodeURIComponent(formulaire.elements[i].value)+"&";
2825            }
2826        }
2827        
2828        // execution de la requete en POST
2829        $.ajax({
2830            type: "POST",
2831            url: link,
2832            cache: false,
2833            data: data,
2834            dataType: "json",
2835            success: function(html){
2836                // Efface le message
2837                $('.message').remove();
2838                // Affiche le message
2839                $('.subtitle').after(
2840                    '<div ' +
2841                        'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
2842                        '<p>' +
2843                            '<span class="ui-icon ui-icon-info"></span>' +
2844                            '<span class="text">' +
2845                                html +
2846                            '</span>' +
2847                        '</p>' +
2848                    '</div>'                    
2849                );
2850                // Décoche toutes les checkbox
2851                $(":checkbox").attr('checked', false);
2852                $(":checkbox").attr('value', '');
2853            }
2854        });
2855    }
2856    
2857    /**
2858     * Permet de recharger la page.
2859     */
2860    function refresh_page_return() {
2861        // Recharge la page
2862        location.reload();
2863    }

Legend:
Removed from v.2201  
changed lines
  Added in v.2716

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26