/[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 2237 by softime, Wed Sep 4 10:28:01 2013 UTC revision 2834 by nhaye, Tue Mar 18 10:39:34 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 132  function bible2() { Line 131  function bible2() {
131  }  }
132  // bible_auto - type httpclick  // bible_auto - type httpclick
133  function bible_auto(){  function bible_auto(){
134      if(fenetreouverte==true)      // Récupération de l'identifiant de l'événement
            pfenetre.close();  
135      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
136        // Si pas d'événement on affiche un message d'erreur
137      if (ev == "") {      if (ev == "") {
138          window.alert("Vous devez d'abord sélectionner un événement.");          window.alert("Vous devez d'abord sélectionner un événement.");
139          return false;          return false;
140      }      }
141        // Récupération de l'identifiant du dossier
142      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
143            // Récupération des retours de consultation et de la bible
144      pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");      $.ajax({
145      fenetreouverte=true;          type: "GET",
146            url: "../app/bible_auto.php?idx="+idx+"&ev="+ev,
147            cache: false,
148            dataType: "json",
149            success: function(data){
150            
151                var obj = tinyMCE.get('complement_om_html');
152                // Remplissage du textarea complement_om_html
153                obj.setContent(obj.getContent()+"<br/>"+data.complement_om_html+"<br/>");
154                var obj2 = tinyMCE.get('complement_om_html');
155                // Remplissage du textarea complement2_om_html
156                obj2.setContent(obj2.getContent()+"<br/>"+data.complement2_om_html+"<br/>");
157    
158            }
159        });
160    
161      return false;      return false;
162  }  }
163  // VerifNumdec - type text  // VerifNumdec - type text
# Line 157  function VerifNumdec(champ) { Line 172  function VerifNumdec(champ) {
172      //}      //}
173            
174  }  }
175    
176    /**
177     * Cette fonction permet de compléter le champ par des zéro par la gauche
178     * @param  string  champ  Champ concerné
179     * @param  integer length Taille du champ retourné
180     */
181    function str_pad_js(champ, length) {
182    
183        // Initialisation de la variable str
184        var str = '' + champ.value;
185    
186        // Si le champ n'est pas vide
187        if (str != '') {
188            // Tant que la taille n'est pas atteint,
189            // on ajoute des 0
190            while (str.length < length) {
191                str = '0' + str;
192            }
193            // Modifie le champ
194            champ.value = str;
195        }
196    }
197    
198  // 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
199  function changeDataSelect(tableName, linkedField, joker){  function changeDataSelect(tableName, linkedField, joker){
200      var id_dossierAutorisation = $("#dossier_autorisation").val();      var id_dossierAutorisation = $("#dossier_autorisation").val();
# Line 209  function changeDataSelect(tableName, lin Line 247  function changeDataSelect(tableName, lin
247      });      });
248  }  }
249    
 // 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  
     });  
 }  
   
250  /**  /**
251   * Fonction de récupération des paramètres GET de la page   * Fonction de récupération des paramètres GET de la page
252   * @return Array Tableau associatif contenant les paramètres GET   * @return Array Tableau associatif contenant les paramètres GET
# Line 619  function affichageBoutonsDemandeurs(){ Line 621  function affichageBoutonsDemandeurs(){
621    
622      if ((url.indexOf("form.php?obj=demande&") != -1      if ((url.indexOf("form.php?obj=demande&") != -1
623          || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1          || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
624          || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)          || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
625            || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
626          && $("form[name=f1] .form-is-valid").size() > 0 ) {          && $("form[name=f1] .form-is-valid").size() > 0 ) {
627    
628          $('#add_petitionnaire_principal').hide();          $('#add_petitionnaire_principal').hide();
# Line 703  $(function() { Line 706  $(function() {
706    
707          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale();
708      }      }
709    
710        // S'il y a une erreur durant la validation lors de l'ajout
711        // d'une nouvelle demande
712        if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
713            && (url.indexOf("&action=3") == -1
714            && url.indexOf("&action=2") == -1
715            && url.indexOf("&validation") != -1
716            && $(".form-is-valid").size() == 0)) {
717    
718            addButtonCadastraleAdesse();
719            formatFieldReferenceCadastrale();
720        }
721            
722      if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1      if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
723          && (url.indexOf("&action=3") == -1          && (url.indexOf("&action=3") == -1
724          && url.indexOf("&action=2") == -1          && url.indexOf("&action=2") == -1
725            && url.indexOf("&validation") == -1
726          && $(".form-is-valid").size() == 0)) {          && $(".form-is-valid").size() == 0)) {
727                    
728          addButtonCadastraleAdesse();          addButtonCadastraleAdesse();
# Line 715  $(function() { Line 731  $(function() {
731            
732      // Ajout de demande      // Ajout de demande
733      if ((url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1      if ((url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
734          || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)          || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
735            || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
736          && url.indexOf("&action=0") != -1 ){          && url.indexOf("&action=0") != -1 ){
737    
738          /*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 740  $(function() {
740      }      }
741            
742      // Ajout de demande sur dossier existant      // Ajout de demande sur dossier existant
743      if (url.indexOf("form.php?obj=demande_dossier_existant&") != -1      if ((url.indexOf("form.php?obj=demande_dossier_encours&") != -1
744            || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
745          && url.indexOf("&action=0") != -1 ){          && url.indexOf("&action=0") != -1 ){
746    
747          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/          //Cache les champs avant que dossier_autorisation_type_detaille soit choisi
748          hideFields();          hideFields();
749          changeDemandeType();          //On affiche le select du type de la demande
750            $('#demande_type').parent().parent().show();
751      }      }
752            
753      // Modification de demande      // Modification de demande
# Line 736  $(function() { Line 755  $(function() {
755          (          (
756              url.indexOf("form.php?obj=demande&") != -1              url.indexOf("form.php?obj=demande&") != -1
757              || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1              || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
758              || url.indexOf("form.php?obj=demande_dossier_existant&") != -1              || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
759                || url.indexOf("form.php?obj=demande_autre_dossier&") != -1
760          )          )
761          && url.indexOf("&action") == -1          && url.indexOf("&action") == -1
762      ){      ){
# Line 1259  function changeDemandeType(){ Line 1279  function changeDemandeType(){
1279      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
1280                    
1281          /*Met à jour le select de demande_type avec les données correspondant*/          /*Met à jour le select de demande_type avec les données correspondant*/
1282          changeDemandeTypeDataSelect();          filterSelect(idDossierAutorisationTypeDetaille, 'demande_type', 'dossier_autorisation_type_detaille', 'demande');
1283          if ( $('#demande_type option').size() < 2 ) {          if ( $('#demande_type option').size() < 2 ) {
1284              showFormsDemande();              showFormsDemande();
1285          }          }
# Line 1319  function addNewFieldReferencesCadastrale Line 1339  function addNewFieldReferencesCadastrale
1339  }  }
1340    
1341  function addButtonCadastraleAdesse(){  function addButtonCadastraleAdesse(){
1342    
1343        // Permet d'ajouter le bouton de récupération d'adresse si sig activé
1344        if ($('#option_sig').val() == 'sig_externe'){
1345            
1346      $('#terrain_references_cadastrales').parent().parent().after('<div class="field field-type-text" >' +          $('#terrain_references_cadastrales').parent().parent().after('<div class="field field-type-text" >' +
1347          '<div class="form-libelle"></div>' +              '<div class="form-libelle"></div>' +
1348          '<div class="form-content buttonCadAdr">' +              '<div class="form-content buttonCadAdr">' +
1349              '<input id="cad-adr-them" '+                  '<input id="cad-adr-them" '+
1350                  'class="ui-button ui-widget ui-state-default ui-corner-all" '+                      'class="ui-button ui-widget ui-state-default ui-corner-all" '+
1351                  'type="button" '+                      'type="button" '+
1352                  'onclick="getAdressFromCadastrale();" '+                      'onclick="getAdressFromCadastrale();" '+
1353                  'value="Récupérer l\'adresse"/>' +                      'value="Récupérer l\'adresse de la parcelle"/>' +
1354          '</div>' +              '</div>' +
1355     '</div>' );         '</div>' );
1356        }
1357  }  }
1358    
1359  /*  /*
# Line 1381  function fieldReferenceCadastraleBase(){ Line 1405  function fieldReferenceCadastraleBase(){
1405      var reference_cadastrale = '<input ' +      var reference_cadastrale = '<input ' +
1406                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1407                  'type="text" ' +                  'type="text" ' +
1408                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this);str_pad_js(this, 3);" ' +
1409                  'maxlength="4" ' +                  'maxlength="3" ' +
1410                  'size="4" '+                  'size="3" '+
1411                  'placeholder="Quart." ';                  'placeholder="Quart." ';
1412                                    
1413      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
# Line 1406  function fieldReferenceCadastraleBase(){ Line 1430  function fieldReferenceCadastraleBase(){
1430      }      }
1431            
1432      reference_cadastrale += 'value="" '+      reference_cadastrale += 'value="" '+
1433                  '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();"/>';
1434      reference_cadastrale += '<input ' +      reference_cadastrale += '<input ' +
1435                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1436                  'type="text" ' +                  'type="text" ' +
1437                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this);str_pad_js(this, 4);" ' +
1438                  'maxlength="4" ' +                  'maxlength="4" ' +
1439                  'size="4" '+                  'size="4" '+
1440                  'placeholder="Parc." ';                  'placeholder="Parc." ';
# Line 1542  function newInputReferenceCadastrale(){ Line 1566  function newInputReferenceCadastrale(){
1566          '<input ' +          '<input ' +
1567              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1568              'type="text" ' +              'type="text" ' +
1569              'onchange="VerifNum(this)" ' +              'onchange="VerifNum(this);str_pad_js(this, 4)" ' +
1570              'maxlength="4" ' +              'maxlength="4" ' +
1571              'size="4" ' +              'size="4" ' +
1572              'placeholder="Parc." ' +              'placeholder="Parc." ' +
# Line 1560  function om_initialize_content() { Line 1584  function om_initialize_content() {
1584      link_bind_button();      link_bind_button();
1585      // Gestion du calendrier avec le widget datepicker de jqueryui      // Gestion du calendrier avec le widget datepicker de jqueryui
1586      inputdate_bind_datepicker();      inputdate_bind_datepicker();
1587        // Gestion des WYSIWYG
1588        inputText_bind_tinyMCE_extended();
1589        inputText_bind_tinyMCE_simple();
1590        inputText_bind_tinyMCE();
1591      // Gestion des fieldset avec le plugin collaspsible de jquery      // Gestion des fieldset avec le plugin collaspsible de jquery
1592      fieldset_bind_collapsible();      fieldset_bind_collapsible();
1593      // Gestion du picker color avec le plugin minicolors      // Gestion du picker color avec le plugin minicolors
# Line 1852  function addDossierCommission(id, contai Line 1880  function addDossierCommission(id, contai
1880          url: link,          url: link,
1881          cache: false,          cache: false,
1882          dataType: "json",          dataType: "json",
1883          success: function(i, obj){          success: function(i){
1884                            
1885              $(container + " .message").remove();              $(container + " .message").remove();
1886              $(container).prepend(              $(container).prepend(
# Line 1869  function addDossierCommission(id, contai Line 1897  function addDossierCommission(id, contai
1897              if ( i.return == "1" ){              if ( i.return == "1" ){
1898                                    
1899                  $(container + ' .message').addClass("ui-state-ok");                  $(container + ' .message').addClass("ui-state-ok");
1900                  $(container + ' .message .text').html("Dossier ajouté avec succès.");                  $(container + ' .message .text').html(i.message);
1901              }              }
1902              //Dossier existe mais non ajouté              //Dossier existe mais non ajouté
1903              else if( i.return == "0" ){              else if( i.return == "0" ){
1904                                    
1905                  $(container + ' .message').addClass("ui-state-error");                  $(container + ' .message').addClass("ui-state-error");
1906                  $(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");  
1907              }              }
1908              //Le dossier n'existe pas              //Le dossier n'existe pas
1909              else if( i.return == "-1" ){              else if( i.return == "-1" ){
1910                                    
1911                  $(container + ' .message').addClass("ui-state-error");                  $(container + ' .message').addClass("ui-state-error");
1912                  $(container + ' .message .text').html("Ce dossier n'existe pas.");                  $(container + ' .message .text').html(i.message);
1913              }              }
1914              //Le dossier est déjà à l'ordre du jour              //Le dossier est déjà à l'ordre du jour
1915              else if( i.return == "2" ){              else if( i.return == "2" ){
1916                                    
1917                  $(container + ' .message').addClass("ui-state-error");                  $(container + ' .message').addClass("ui-state-error");
1918                  $(container + ' .message .text').html("Ce dossier est deja a l'ordre du jour.");                  $(container + ' .message .text').html(i.message);
1919                }
1920                //Le dossier est déjà à l'ordre du jour
1921                else if( i.return == "-2" ){
1922                    
1923                    $(container + ' .message').addClass("ui-state-error");
1924                    $(container + ' .message .text').html(i.message);
1925              }              }
1926                            
1927          },          },
# Line 2171  function finalizeDocument(idx, obj, sous Line 2204  function finalizeDocument(idx, obj, sous
2204              );              );
2205                            
2206              //Si la finalisation a été effectuée avec succès              //Si la finalisation a été effectuée avec succès
2207              if ( data.pdf != -1 ){              if ( typeof data.pdf !== "undefined" && data.pdf != -1 ){
2208                                    
2209                  // On change le lien                  // On change le lien
2210                  var etat = ((status == 1)?'':'de') + 'finalis';                  var etat = ((status == 1)?'':'de') + 'finalis';
# Line 2186  function finalizeDocument(idx, obj, sous Line 2219  function finalizeDocument(idx, obj, sous
2219                  //Si on le document est finalisé, on cache les actions du portlet                  //Si on le document est finalisé, on cache les actions du portlet
2220                  if ( status == 1 ){                  if ( status == 1 ){
2221                                            
2222                      $(".edit-16").parent().parent().remove();                      $("#"+sousform+obj+" .edit-16").parent().parent().remove();
2223                      $(".delete-16").parent().parent().remove();                      $("#"+sousform+obj+" .delete-16").parent().parent().remove();
2224                  }                  }
2225                  else{                  else{
2226                                            
# Line 2204  function finalizeDocument(idx, obj, sous Line 2237  function finalizeDocument(idx, obj, sous
2237                          actions += data.actions.supprimer;                          actions += data.actions.supprimer;
2238                      }                      }
2239                                            
2240                      $('.portlet-list').prepend(actions);                      $('#'+sousform+obj+' .portlet-list').prepend(actions);
2241                  }                  }
2242                                    
2243                  //On affiche un message de valisation                  //On affiche un message de valisation
2244                  $('#'+sousform+obj+' .message').addClass("ui-state-valid");                  $('#'+sousform+obj+' .message').addClass("ui-state-valid");
2245                  $('#'+sousform+obj+' .message .text').html(                  $('#'+sousform+obj+' .message .text').html(data.message);
                     "La "+etat+"ation du document s'est effectuée avec succès."  
                 );  
2246              }              }
2247              // Si une erreur s'est produite              // Si une erreur s'est produite
2248              else {              else {
2249                                    
2250                  //On affiche un message de validation                  //On affiche un message de validation
2251                  $('#'+sousform+obj+' .message').addClass("ui-state-error");                  $('#'+sousform+obj+' .message').addClass("ui-state-error");
2252                  $('#'+sousform+obj+' .message .text').html(                  $('#'+sousform+obj+' .message .text').html(data.message);
2253                      "Une erreur s'est produite lors de la finalisation du document."              }
2254                  );          },
2255            error: function(jqXHR, textStatus, errorThrown) {
2256                
2257                //Si un parsererror est retourné, du code HTML s'est affiché dans
2258                //l'application, on affiche ce code
2259                if ( textStatus === "parsererror" ){
2260                    $('#'+sousform+obj+' .message.ui-widget.ui-corner-all.ui-state-highlight').remove()
2261                    $('#'+sousform+obj+' a.retour').first().before(jqXHR.responseText);
2262              }              }
2263          }          }
2264      });      });
# Line 2370  function geolocalisation_treatment(id, f Line 2408  function geolocalisation_treatment(id, f
2408   * @param array res Résultat après le traitement du script PHP   * @param array res Résultat après le traitement du script PHP
2409   */   */
2410  function set_geolocalisation_message(res) {  function set_geolocalisation_message(res) {
2411      $('#geolocalisation-message').remove();      // Si il y a un message d'erreur
2412        if ($('#geolocalisation-message')[0]) {
2413            // Supprime le message
2414            $('#geolocalisation-message').remove();
2415            // Modifie les messages des autres fonctionnalités
2416            $('#calcul_emprise').each(
2417                function() {
2418                    $(this).children().removeClass();
2419                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2420                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2421                }
2422            );
2423            $('#calcul_centroide').each(
2424                function() {
2425                    $(this).children().removeClass();
2426                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2427                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2428                }
2429            );
2430            $('#recup_contrainte').each(
2431                function() {
2432                    $(this).children().removeClass();
2433                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2434                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2435                }
2436            );
2437        }
2438        
2439  }  }
2440    
2441  /**  /**
# Line 2378  function set_geolocalisation_message(res Line 2443  function set_geolocalisation_message(res
2443   * @param  array   res  Résultat après le traitement du script PHP   * @param  array   res  Résultat après le traitement du script PHP
2444   */   */
2445  function set_geolocalisation_centroide(res) {  function set_geolocalisation_centroide(res) {
2446      $('span#centroide').text("POINT("+res['return']['coordX']+" "+res['return']['coordY']+")");      
2447        var content = "<a id='action-form-localiser'"+
2448                " target='_SIG' href='../app/redirect_plan_sig.php?idx="+res['return']['dossierID']+"'>"+
2449                "<span class='om-icon om-icon-16 om-icon-fix sig-16' title='Localiser'>Localiser</span> "+
2450                " POINT("+res['return']['coordX']+" "+res['return']['coordY']+")"+
2451                " </a>";
2452        
2453        $('span#centroide').html(content);
2454  }  }
2455    
2456  /**  /**
2457   * Met le champ servitude à jour   * Met le champ contrainte à jour
2458   * @param  array   res  Résultat après le traitement du script PHP   * @param  array   res  Résultat après le traitement du script PHP
2459   */   */
2460  function set_geolocalisation_contrainte(res) {  function set_geolocalisation_contrainte(res) {
2461      $('span#servitude').text(res['return']['servitude']);      // Contenus du champ contrainte
2462        var content = $('span#msg_contrainte_sig').html();
2463        // Si aucune contraintes est récupérées du SIG
2464        if (res['dossier_contrainte']['nb_contrainte_sig'] == 0) {
2465            content = res['dossier_contrainte']['msg_contrainte_sig_empty'];
2466        }
2467        // S'il y a des contraintes récupérées
2468        if (res['dossier_contrainte']['nb_contrainte_sig'] != 0) {
2469            content = res['dossier_contrainte']['nb_contrainte_sig'] + " " + res['dossier_contrainte']['msg_contrainte_sig']
2470        }
2471        // Affiche le message
2472        $('span#msg_contrainte_sig').html(content);
2473  }  }
2474    
2475  /**  /**
# Line 2565  function getAdressFromCadastrale(){ Line 2648  function getAdressFromCadastrale(){
2648          async: false          async: false
2649      });      });
2650  }  }
2651    
2652    /**
2653     * Modifie les champs requis pour le formulaire demande_type
2654     * @param  integer  demande_nature                         Identifiant
2655     * @param  string   lib_dossier_autorisation_type_detaille Libellé du champ
2656     * dossier_autorisation_type_detaille
2657     * @param  string   lib_dossier_instruction_type           Libellé du champ
2658     * dossier_instruction_type
2659     */
2660    function required_fields_demande_type(demande_nature, lib_dossier_autorisation_type_detaille, lib_dossier_instruction_type) {
2661    
2662        // Lien
2663        link = "../app/getDemandeNatureInfo.php?demande_nature=" + demande_nature;
2664    
2665        // Traitement
2666        $.ajax({
2667            type: "GET",
2668            url: link,
2669            cache: false,
2670            dataType: "json",
2671            success: function(demande_nature_info) {
2672    
2673                // On enlève le "*" au libellé du champ
2674                // dossier_autorisation_type_detaille pour montrer qu'il n'est
2675                // pas obligatoire
2676                $("#lib-dossier_autorisation_type_detaille").text('');
2677                $("#lib-dossier_autorisation_type_detaille")
2678                    .html(lib_dossier_autorisation_type_detaille);
2679    
2680                // On enlève le "*" au libellé du champ
2681                // dossier_instruction_type pour montrer qu'il n'est
2682                // pas obligatoire
2683                $("#lib-dossier_instruction_type").text('');
2684                $("#lib-dossier_instruction_type")
2685                    .html(lib_dossier_instruction_type);
2686                
2687                // Si c'est une nouvelle demande
2688                if (demande_nature_info != ''
2689                    && demande_nature_info != null) {
2690    
2691                    if (demande_nature_info['code'] == 'NOUV') {
2692    
2693                        // On ajoute le "*" au libellé du champ
2694                        // dossier_autorisation_type_detaille pour montrer qu'il est
2695                        // obligatoire
2696                        $("#lib-dossier_autorisation_type_detaille").text('');
2697                        $("#lib-dossier_autorisation_type_detaille")
2698                            .html(lib_dossier_autorisation_type_detaille + ' <span class="not-null-tag">*</span>');
2699    
2700                        // On ajoute le "*" au libellé du champ
2701                        // dossier_instruction_type pour montrer qu'il est
2702                        // obligatoire
2703                        $("#lib-dossier_instruction_type").text('');
2704                        $("#lib-dossier_instruction_type")
2705                            .html(lib_dossier_instruction_type + ' <span class="not-null-tag">*</span>');
2706    
2707                    }
2708    
2709                }
2710                
2711            },
2712            async:false
2713        });
2714    }
2715    
2716    /**
2717     * Appel au chargement de la page
2718     **/
2719    $(function() {
2720    
2721        // url de la page
2722        url = document.location + "";
2723    
2724        // Si dans le formulaire des type de demande
2725        // et que c'est en mode ajout ou modifier
2726        if (url.indexOf("form.php?obj=demande_type&") != -1
2727            && (url.indexOf("&action=0") != -1
2728            || url.indexOf("&action=1") != -1
2729            || url.indexOf("&validation=") != -1)) {
2730    
2731            // Récupère les paramètres nécessaires
2732            var demande_nature = $("#demande_nature").val();
2733            var lib_dossier_autorisation_type_detaille = $("#lib-dossier_autorisation_type_detaille").text();
2734            var lib_dossier_instruction_type = $("#lib-dossier_instruction_type").text();
2735    
2736            // Appelle la fonction pour indiquer si les champs sont requis ou non
2737            required_fields_demande_type(demande_nature, lib_dossier_autorisation_type_detaille, lib_dossier_instruction_type);
2738        }
2739    
2740    });
2741    
2742    /**
2743     * Cache les champs du formulaire événement
2744     * @param  array fields Tableau des champs
2745     */
2746    function hideFieldsEvenement(fields) {
2747    
2748        // Pour chaque champ
2749        for (var cpt = 0; cpt < fields.length; cpt++) {
2750    
2751            $('#' + fields[cpt]).each(
2752                function(){
2753    
2754                    // Récupère la balise parent et la valeur
2755                    var parentField = $(this).parent();
2756                    var valueField = $(this).val();
2757                    // Supprime le champ
2758                    $(this).remove();
2759                    // Affiche le champ en tant que static
2760                    parentField.append('<span id="'+fields[cpt]+'" class="field_value">'+valueField+'</span>');
2761                }
2762            );
2763    
2764        }
2765        
2766        // Cache les champs "evenement_retour_ar" et "evenement_retour_signature"
2767        $('#evenement_retour_ar').parent().parent().hide();
2768        $('#evenement_retour_signature').parent().parent().hide();
2769    }
2770    
2771    /**
2772     * Affiche les champs du formulaire événement
2773     * @param  array fields Tableau des champs
2774     */
2775    function showFieldsEvenement(fields) {
2776    
2777        // Pour chaque champ
2778        for (var cpt = 0; cpt < fields.length; cpt++) {
2779    
2780            $('#' + fields[cpt]).each(
2781                function(){
2782    
2783                    // Récupère la balise parent et la valeur
2784                    var parentField = $(this).parent();
2785                    var valueField = $(this).text();
2786                    // Supprime le champ
2787                    $(this).remove();
2788    
2789                    // Si le champ est restriction
2790                    if (this.id == 'restriction') {
2791    
2792                        // Réaffiche le champ en type text
2793                        parentField.append('<input id="'+this.id+'" class="champFormulaire" type="text" maxlength="60" size="30" value="'+ valueField +'" name="'+this.id+'">');
2794                    } else {
2795    
2796                        // Réaffiche les selects
2797                        parentField.append('<select id="'+this.id+'" class="champFormulaire" size="1" name="'+this.id+'"></select>');
2798                        filterSelect(valueField, fields[cpt], 'delai', 'evenement');
2799                    }
2800                }
2801            );
2802    
2803        }
2804    
2805        // Affiche les champs "evenement_retour_ar" et "evenement_retour_signature"
2806        $('#evenement_retour_ar').parent().parent().show();
2807        $('#evenement_retour_signature').parent().parent().show();
2808    }
2809    
2810    /**
2811     * Action onchange sur la case à cocher "retour" du formulaire "evenement"
2812     * @param  object field Champ de type booléen
2813     */
2814    function retourOnchangeEvenement(field) {
2815    
2816        // liste des champs à modifier dans le formulaire
2817        var fields = new Array(
2818            'restriction',
2819            'delai',
2820            'accord_tacite',
2821            'delai_notification',
2822            'avis_decision'
2823        );
2824    
2825        // Si le champ booléen est à 'Oui'
2826        if (field.value == 'Oui') {
2827            // Cache et rend static les champs de la liste
2828            hideFieldsEvenement(fields);
2829        } else {
2830            // Affiche et rend modifiable les champs de la liste
2831            showFieldsEvenement(fields);
2832        }
2833    }
2834    
2835    function dossierContrainteValidationForm(objsf, link, formulaire) {
2836        // composition de la chaine data en fonction des elements du formulaire
2837        var data = "";
2838        if (formulaire) {
2839            for (i=0; i<formulaire.elements.length; i++) {
2840                data += formulaire.elements[i].name+"="+encodeURIComponent(formulaire.elements[i].value)+"&";
2841            }
2842        }
2843        
2844        // execution de la requete en POST
2845        $.ajax({
2846            type: "POST",
2847            url: link,
2848            cache: false,
2849            data: data,
2850            dataType: "json",
2851            success: function(html){
2852                // Efface le message
2853                $('.message').remove();
2854                // Affiche le message
2855                $('.subtitle').after(
2856                    '<div ' +
2857                        'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
2858                        '<p>' +
2859                            '<span class="ui-icon ui-icon-info"></span>' +
2860                            '<span class="text">' +
2861                                html +
2862                            '</span>' +
2863                        '</p>' +
2864                    '</div>'                    
2865                );
2866                // Décoche toutes les checkbox
2867                $(":checkbox").attr('checked', false);
2868                $(":checkbox").attr('value', '');
2869            }
2870        });
2871    }
2872    
2873    /**
2874     * Permet de recharger la page.
2875     */
2876    function refresh_page_return() {
2877        // Recharge la page
2878        location.reload();
2879    }

Legend:
Removed from v.2237  
changed lines
  Added in v.2834

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26