/[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 1667 by fmichon, Mon Apr 15 07:45:17 2013 UTC revision 2201 by softime, Fri Aug 30 11:14:48 2013 UTC
# Line 30  $(function(){ Line 30  $(function(){
30      * Spécifique app/suivi_retours_de_consultation.php pour donner le focus sur le champ de      * Spécifique app/suivi_retours_de_consultation.php pour donner le focus sur le champ de
31      * recherche au chargement de la page.      * recherche au chargement de la page.
32      */      */
33     $('#suivi_retours_de_consultation_form #consultation').focus();     $('#suivi_retours_de_consultation_form #code_barres').focus();
34    
35      /**      /**
36      * Spécifique app/suivi_mise_a_jour_des_dates.php pour donner le focus sur le champ      * Spécifique app/suivi_mise_a_jour_des_dates.php pour donner le focus sur le champ
37      * instruction au chargement de la page si la date n'est pas vide.      * instruction au chargement de la page si la date n'est pas vide.
38      */      */
39      if($('#suivi_mise_a_jour_des_dates_form #date').val()!="") {      if($('#suivi_mise_a_jour_des_dates_form #date').val()!="") {
40          $('#suivi_mise_a_jour_des_dates_form #instruction').focus();          $('#suivi_mise_a_jour_des_dates_form #code_barres').focus();
41      }      }
42        
43        /**
44        * Spécifique app/suivi_envoi_lettre_rar.php pour donner le focus sur le champ
45        * liste des codes barres d'instructions scannés au chargement de la page.
46        */
47        $('#suivi_envoi_lettre_rar_form #liste_code_barres_instruction').focus();
48        
49        /**
50         * Affichage d'un dialog pour les règles de calcul associés à l'action
51         */
52        $('.regle_action').dialog({
53            autoOpen: false,
54            show: "fade",
55            hide: "fade",
56            dialogClass: "alert",
57            minHeight: 30,
58            minWidth: 400
59        });
60        
61        $('.wf_evenement_action').mouseover(
62            function(){
63                var id = $(this).attr("id");
64                $( "#regle_action"+ id ).dialog({ position: { my: "left top", at: "left bottom", of: $(this) } });
65                $( "#regle_action"+ id ).dialog("open");
66                $(".ui-dialog-titlebar").hide();
67            }
68        );
69        
70        $('.wf_evenement_action').mouseleave(
71            function(){
72                var id = $(this).attr("id");
73                $( "#regle_action"+ id ).dialog( "close" );
74            }
75        );
76   });   });
77    
78    
# Line 237  function vuploadMulti(champ) { Line 271  function vuploadMulti(champ) {
271      //      //
272      fenetreouverte = true;      fenetreouverte = true;
273  }  }
 // tmpUpload - Upload  XXX  
 function tmpUpload(champ) {  
     //  
     if (fenetreouverte == true) {  
         pfenetre.close();  
     }  
     //  
     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");  
     //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");  
     //  
     fenetreouverte = true;  
 }  
   
   
274    
275  /**  /**
276   * POPUP pour le téléchargement de fichier   * POPUP pour le téléchargement de fichier
# Line 684  $(function() { Line 704  $(function() {
704          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale();
705      }      }
706            
707      if (url.indexOf("form.php?obj=demande&") != -1      if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
708          && (url.indexOf("&action=3") == -1          && (url.indexOf("&action=3") == -1
709          && url.indexOf("&action=2") == -1          && url.indexOf("&action=2") == -1
710          && $(".form-is-valid").size() == 0)) {          && $(".form-is-valid").size() == 0)) {
# Line 890  function formatFieldReferenceCadastrale( Line 910  function formatFieldReferenceCadastrale(
910      }      }
911  }  }
912    
913  /*  /**
914   * Ajoute les icônes pour la recherche de pétitionnaire fréquent.   * Ajoute les icônes pour la recherche de pétitionnaire fréquent.
915   */   */
916  function addSearchIcon(){  function addSearchIcon(){
917    
918      $("#form-content:not(.form-is-valid) .search_particulier_fields,"+      $("#form-content:not(.form-is-valid) .search_fields").each(
919        "#form-content:not(.form-is-valid) .search_personne_morale_fields").each(function() {          function() {
920      /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/              //Ajout de l'icône après le champs dénomination et nom de la personne morale*/
921                $(this).append(
             $(this).  
             append(  
922                  '<span '+                  '<span '+
923                      'class="om-icon om-icon-16 om-icon-fix search-petitionnaire-16" '+                      'class="om-icon om-icon-16 om-icon-fix search-frequent-16" '+
924                      'title="Chercher un petitionnaire"> '+                      'title="Chercher un frequent"> '+
925                  '</span>'                  '</span>'
926              );              );
927          }          }
928      );      );
929            
930      /*Ajout des actions sur les boutons*/      /*Ajout des actions sur les boutons*/
931      addActionSearchIcon('#sousform-petitionnaire #form-content');      addActionSearchIcon();
932      addActionRemove();      addActionRemove();
933    
934  }  }
# Line 925  function addActionRemove(){ Line 943  function addActionRemove(){
943      });      });
944  }  }
945    
946    /**
947     * Vérifie que les champs necessaires sont remplis et retourne les données necessaires
948     * sous forme de tableau JSOn
949     */
950    function getDataSearch(){
951        
952        //Il faut un minimum de trois lettres pour lancer la recherche
953        var minChar = false;
954        //Récupération des données
955        var dataJson = "{";
956        $('.search_fields input').each(
957            function(){
958                if ( $(this).val().length >= 3 ){
959                    minChar = true;
960                }
961                
962                var idInput = $(this).attr("id");
963                var valInput = $(this).val();
964                dataJson += "\"" + idInput + "\":\"" + valInput + "\",";
965            }
966        );
967        if (!minChar){
968            alert('Saisissez au moins trois lettres pour la recherche');
969            return "";
970        }
971        
972        dataJson = $.parseJSON(dataJson.substring(0,dataJson.length-1)+"}");
973        //Données sous forme d'un tableau JSON
974        return dataJson;
975    }
976    
977  /*  /*
978   * Ajoute les actions sur les icônes de recherche   * Ajoute les actions sur les icônes de recherche
979   */   */
980  function addActionSearchIcon(id){  function addActionSearchIcon(){
981        
982        //Selon l'objet dans lequel on se trouve
983        var objName = '';
984        var objReturn = '';
985        if ( $('#demandeur').length == 1 ){
986            objName = 'petitionnaire';
987            objReturn = 'demande';
988        }
989        else if($('#architecte').length == 1){
990            objName = 'architecte';
991            objReturn = 'donnees_techniques';
992        }
993            
994      /*Si on recherche un pétitionnaire de type particulier*/      $('.search-frequent-16').click(
     $('.search-petitionnaire-16').click(  
995          function(){          function(){
996                            //Récupération des données
997              /*Le champ nom du particulier doit contenir au moins trois lettres*/              dataJson = getDataSearch();
998              if ( $('#particulier_nom').val().length < 3 &&              //Si ce n'est pas un tableau JSON on n'exécute pas le reste du code
999                  $('#particulier_prenom').val().length < 3 &&              if ( typeof dataJson !== 'object' ){
                 $('#personne_morale_denomination').val().length < 3 ){  
                   
                 alert('Saisissez au moins trois lettres pour la recherche');  
1000                  return;                  return;
1001              }              }
1002                            
1003              /*Données des champs nom et prénom du particulier*/              //Requête qui va récupérer les données du addSearchIcon(es)
1004              var donnees = "?par_nom=" + $('.search_particulier_fields #particulier_nom').val() +              //pétitionnaire(s) correspondant(s) à la recherche
                 "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val() +  
                 "&mor_denomination="+$('#personne_morale_denomination').val();  
   
             /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)  
              * correspondant(s) à la recherche */  
1005              $.ajax({              $.ajax({
1006                  type: "GET",                  type: "POST",
1007                  url: "../app/findPetitionnaire.php" + donnees ,                  dataType: "json",
1008                    data: dataJson,
1009                    url: "../app/find" + objName.charAt(0).toUpperCase() + objName.substring(1) + ".php" ,
1010                  cache: false,                  cache: false,
1011                  success: function(obj){                  success: function(obj){
1012                      var freq = $.parseJSON(obj);                      var freq = obj;
1013                      var res='';                      var res='';
1014                      /*Si la recherche a donné des résultats*/                      /*Si la recherche a donné des résultats*/
1015                      if ( freq.length > 0 ){                      if ( freq.length > 0 ){
# Line 970  function addActionSearchIcon(id){ Line 1024  function addActionSearchIcon(id){
1024                              nbRes = freq.length;                              nbRes = freq.length;
1025                          }                          }
1026                                                    
1027                          res += '<select>' ;                          res += '<select id="select-'+objName+'">' ;
1028                                                    
1029                          /* Met les résultats de la recherche dans un select */                          /* Met les résultats de la recherche dans un select */
1030                         for ( i = 0 ; i < nbRes ; i++ ){                         for ( i = 0 ; i < nbRes ; i++ ){
# Line 984  function addActionSearchIcon(id){ Line 1038  function addActionSearchIcon(id){
1038                          res += 'Aucune correspondance trouvée.';                          res += 'Aucune correspondance trouvée.';
1039                      }                      }
1040                                            
1041                      addDivDialog('#sousform-petitionnaire');                      addDivDialog('#sousform-' + objName);
1042                      /* Affichage de l'overlay */                      /* Affichage de l'overlay */
1043                      $('#dialog').html(res);                      $('#dialog').html(res);
1044                                                
# Line 992  function addActionSearchIcon(id){ Line 1046  function addActionSearchIcon(id){
1046                          modal: true,                          modal: true,
1047                          buttons : {                          buttons : {
1048                              Valider: function(){                              Valider: function(){
1049                                  if ( res != 'Auncune correspondance trouvée.'){                                  if ( res != 'Aucune correspondance trouvée.'){
1050                                        var id = $('#select-'+objName+' option:selected').val();
1051                                  }                                      if($.isNumeric(id)) {
1052                                  var id = $('#dialog select option:selected').val();                                          ajaxIt(objName,
1053                                  if($.isNumeric(id)) {                                          '../scr/sousform.php?obj=' + objName +
1054                                      ajaxIt('petitionnaire',                                          '&action=1&retourformulaire=' + objReturn +
1055                                      '../scr/sousform.php?obj=petitionnaire&action=1&retourformulaire=demande&idx='+id);                                          '&idx='+id
1056                                            );
1057                                        }
1058                                  }                                  }
1059                                  // Fermeture de l'overlay                                  // Fermeture de l'overlay
1060                                  $(this).dialog( "close" ).empty();                                  $(this).dialog( "close" );
1061                                    $(this).remove();
1062                              }                              }
1063                            },
1064                            close: function(){
1065                                $(this).remove();
1066                          }                          }
1067                      });                      });
1068                  },                  },
# Line 1231  function addNewFieldReferencesCadastrale Line 1291  function addNewFieldReferencesCadastrale
1291                  '<label '+                  '<label '+
1292                      'class="libelle-terrain_references_cadastrales" '+                      'class="libelle-terrain_references_cadastrales" '+
1293                      'for="terrain_references_cadastrales">'+                      'for="terrain_references_cadastrales">'+
1294                      ' terrain_references_cadastrales '+                      ' Références cadastrales '+
1295                  '</label>' +                  '</label>' +
1296              '</div>' +              '</div>' +
1297              '<div class="form-content reference_cadastrale_custom_fields">' +              '<div class="form-content reference_cadastrale_custom_fields">' +
# Line 1248  function addNewFieldReferencesCadastrale Line 1308  function addNewFieldReferencesCadastrale
1308              '</div>' +              '</div>' +
1309         '</div>';         '</div>';
1310      }      }
1311          
1312      $('.references_cadastrales_new_field').remove();      $('.references_cadastrales_new_field').remove();
1313      $('.moreFieldReferenceCadastrale').remove();      $('.moreFieldReferenceCadastrale').remove();
1314      $('#morelineReferenceCadastrale').remove();      $('#morelineReferenceCadastrale').remove();
# Line 1262  function addButtonCadastraleAdesse(){ Line 1322  function addButtonCadastraleAdesse(){
1322      $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +      $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
1323          '<div class="form-libelle"></div>' +          '<div class="form-libelle"></div>' +
1324          '<div class="form-content buttonCadAdr">' +          '<div class="form-content buttonCadAdr">' +
1325              '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +              '<input id="cad-adr-them" '+
1326                    'class="ui-button ui-widget ui-state-default ui-corner-all" '+
1327                    'type="button" '+
1328                    'onclick="getAdressFromCadastrale();" '+
1329                    'value="Cadastrale = > Adresse"/>' +
1330          '</div>' +          '</div>' +
1331     '</div>' );     '</div>' );
1332  }  }
# Line 1486  function newInputReferenceCadastrale(){ Line 1550  function newInputReferenceCadastrale(){
1550  }  }
1551    
1552    
   
 /**  
  * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau  
  * tableau de bord  
  */  
 function widget_bind_move_actions() {}  
 function widget_bind_add_action() {}  
 function widget_bind_edit_actions(widget_selector) {}  
   
1553  // Cette fonction permet d'associer a un arbre html les fonctions jquery  // Cette fonction permet d'associer a un arbre html les fonctions jquery
1554  // necessaires. Elle permet notamment lors du chargement d'une page en ajax  // necessaires. Elle permet notamment lors du chargement d'une page en ajax
1555  // d'associer le comportement du bouton, la gestion du calendrier et la gestion  // d'associer le comportement du bouton, la gestion du calendrier et la gestion
# Line 1553  function overlayCerfa(idLot) { Line 1608  function overlayCerfa(idLot) {
1608          });          });
1609  }  }
1610    
1611    /**
1612     * Fonction permettant de faire la somme des champs passé en 2nd parametre et
1613     * le stocker dans le champ passé en 1er
1614     */
1615    function sommeChampsCerfa(cible, source) {
1616        val_cible = 0;
1617        
1618        $.each(source, function(index, value) {
1619            // Conversion des champs source en integer
1620            val_source = parseInt($('#'+value).val());
1621            // Cumul des valeurs des champs source
1622            val_cible = val_cible + (isNaN(val_source) ? 0 : val_source);
1623        });
1624        // Affectation de la nouvelle valeur
1625        $('#'+cible).val(val_cible);
1626    }
1627    
1628    function calculSurfaceTotal() {
1629        
1630        var nom_col = [ "su_avt_shon",
1631                        "su_cstr_shon",
1632                        "su_trsf_shon",
1633                        "su_chge_shon",
1634                        "su_demo_shon",
1635                        "su_tot_shon" ];
1636    
1637        // Calcul des totaux de colonnes
1638        $.each(nom_col, function(index, value) {
1639            var tot_col = 0;
1640            for ( var i = 1; i <= 9; i++ ) {
1641                // Conversion des champs source en integer
1642                val_source = parseInt($('#'+value+i).val());
1643                // Cumul des valeurs des champs source
1644                tot_col = tot_col + (isNaN(val_source) ? 0 : val_source);
1645            }
1646    
1647            // Affectation du résultat de ligne
1648            $('#'+value+'_tot').val(tot_col);
1649        });
1650    
1651        // Calcul des totaux des lignes
1652        for ( var j = 1; j <= 9; j++ ) {
1653            // Conversion des champs source en integer
1654            su_avt_shon = parseInt($('#su_avt_shon'+j).val());
1655            su_cstr_shon = parseInt($('#su_cstr_shon'+j).val());
1656            su_trsf_shon = parseInt($('#su_trsf_shon'+j).val());
1657            su_chge_shon = parseInt($('#su_chge_shon'+j).val());
1658            su_demo_shon = parseInt($('#su_demo_shon'+j).val());
1659            
1660            // Cumul des valeurs des champs source
1661            su_avt_shon = isNaN(su_avt_shon) ? 0 : su_avt_shon;
1662            su_cstr_shon = isNaN(su_cstr_shon) ? 0 : su_cstr_shon;
1663            su_trsf_shon = isNaN(su_trsf_shon) ? 0 : su_trsf_shon;
1664            su_chge_shon = isNaN(su_chge_shon) ? 0 : su_chge_shon;
1665            su_demo_shon = isNaN(su_demo_shon) ? 0 : su_demo_shon;
1666    
1667            // Affectation du résultat de ligne
1668            $('#su_tot_shon'+j).val((su_avt_shon+su_cstr_shon+su_trsf_shon)-(su_chge_shon+su_demo_shon));
1669    
1670        }
1671    
1672        // Calcul du total des totaux
1673        // Conversion des champs source en integer
1674        su_avt_shon = parseInt($('#su_avt_shon_tot').val());
1675        su_cstr_shon = parseInt($('#su_cstr_shon_tot').val());
1676        su_trsf_shon = parseInt($('#su_trsf_shon_tot').val());
1677        su_chge_shon = parseInt($('#su_chge_shon_tot').val());
1678        su_demo_shon = parseInt($('#su_demo_shon_tot').val());
1679        
1680        // Cumul des valeurs des champs source
1681        su_avt_shon = isNaN(su_avt_shon) ? 0 : su_avt_shon;
1682        su_cstr_shon = isNaN(su_cstr_shon) ? 0 : su_cstr_shon;
1683        su_trsf_shon = isNaN(su_trsf_shon) ? 0 : su_trsf_shon;
1684        su_chge_shon = isNaN(su_chge_shon) ? 0 : su_chge_shon;
1685        su_demo_shon = isNaN(su_demo_shon) ? 0 : su_demo_shon;
1686    
1687        // Affectation du résultat de ligne
1688        $('#su_tot_shon_tot').val((su_avt_shon+su_cstr_shon+su_trsf_shon)-(su_chge_shon+su_demo_shon));
1689    
1690    }
1691    
1692  /*  /*
1693   * Marque comme lu une consultation ou commission   * Marque comme lu une consultation ou commission
1694   */   */
# Line 1801  function updateCommission(id, container) Line 1937  function updateCommission(id, container)
1937          function(index) {          function(index) {
1938                            
1939              var idxDossier = $(this).val();              var idxDossier = $(this).val();
1940                //Identifiant du dossier formaté de façon lisible
1941                var idzDossier = $(this).parent().next().text();
1942                            
1943              link = "../app/commission_update_dossier.php?idx=" + id +              link = "../app/commission_update_dossier.php?idx=" + id +
1944                  "&idxDossier=" + idxDossier;                  "&idxDossier=" + idxDossier;
# Line 1827  function updateCommission(id, container) Line 1965  function updateCommission(id, container)
1965                      // Erreur                      // Erreur
1966                      if( i.error == "0" ){                      if( i.error == "0" ){
1967                                                    
1968                          error += idxDossier + ", ";                          error += idzDossier + ", ";
1969                      }                      }
1970                      else if ( i.error == "-1" ) {                      else if ( i.error == "-1" ) {
1971    
1972                          error_avis += idxDossier + ", ";                          error_avis += idzDossier + ", ";
1973                      }                      }
1974                      else{                      else{
1975                          valid += idxDossier + ", ";                          valid += idzDossier + ", ";
1976                      }                      }
1977                  },                  },
1978                  async: false                  async: false
# Line 1855  function updateCommission(id, container) Line 1993  function updateCommission(id, container)
1993          '</div>');          '</div>');
1994      }      }
1995    
1996      //le traitement a été effectué avec succés      //le traitement a été effectué avec succès
1997      if ( valid != "" ){      if ( valid != "" ){
1998                    
1999          $(container + ' .dossier-ok').addClass("ui-state-ok");          $(container + ' .dossier-ok').addClass("ui-state-ok");
# Line 1908  function chargeDonneesCommissionType(id_ Line 2046  function chargeDonneesCommissionType(id_
2046  }  }
2047    
2048  // Action de diffusion de mails des commissions  // Action de diffusion de mails des commissions
2049  function commission_diffusion(idx, obj){  function commission_diffusion(idx, obj, champ){
2050            
2051      $('#tabs-1 .message').remove();      $('#tabs-1 .message').remove();
2052            
# Line 1935  function commission_diffusion(idx, obj){ Line 2073  function commission_diffusion(idx, obj){
2073                  );                  );
2074                                    
2075                  var type = ( obj == "commission_compte_rendu" ) ? "du compte-rendu" : "de l'ordre du jour";                  var type = ( obj == "commission_compte_rendu" ) ? "du compte-rendu" : "de l'ordre du jour";
2076                  //L'envoi des mails a été effectué avec succés                  //L'envoi des mails a été effectué avec succès
2077                  if ( data.return == 1 ){                  if ( data.return == 1 ){
2078                                            
2079                        //Finalisation du document
2080                        $.ajax({
2081                            type: "GET",
2082                            url: "../app/finalisation_document.php?idx=" + idx +
2083                                "&obj=commission&champ="+champ,
2084                            dataType: "json",
2085                            async: false,
2086                            success: function(data){
2087    
2088                                //Si la finalisation a été effectuée avec succès
2089                                if ( data != -1 ){
2090                                                      
2091                                    //On affiche le lien du document finalisé
2092                                    $('.'+champ).parent().attr("href", data+"");
2093                                    
2094                                    //On affiche un message de valisation
2095                                    $('.'+obj+' .message .text').html(
2096                                        "La finalisation du document s'est effectuée avec succès.<br/>"
2097                                    );
2098                                }
2099                                // Si une erreur s'est produite
2100                                else {
2101                                    
2102                                    //On affiche un message de validation
2103                                    $('.'+obj+' .message .text').html(
2104                                        "Une erreur s'est produite lors de la finalisation du document."
2105                                    );
2106                                }
2107                            }
2108                        });
2109                        
2110                      $('#tabs-1 .message').addClass("ui-state-valid");                      $('#tabs-1 .message').addClass("ui-state-valid");
2111                      $('#tabs-1 .message .text').html(                      $('#tabs-1 .message .text').prepend(
2112                          "La diffusion " + type + " s'est effectuée avec succès."                          "La diffusion " + type + " s'est effectuée avec succès."
2113                      );                      );
2114                  }                  }
# Line 1972  function trt_confirm() { Line 2141  function trt_confirm() {
2141          return false;          return false;
2142      }      }
2143  }  }
2144    
2145    /**
2146     * Finalisation des documents.
2147     *
2148     */
2149    function finalizeDocument(idx, obj, sousform, status, retour){
2150    
2151        //Requête ajax de finalisation des documents
2152        $.ajax({
2153            type: "GET",
2154            url: "../app/finalisation_document.php?idx=" + idx + "&obj=" + obj +
2155                "&status="+status+"&sousform="+sousform+"&retourformulaire="+retour,
2156            dataType: "json",
2157            async: false,
2158            success: function(data){
2159                
2160                $('#'+sousform+obj+' .message.ui-widget.ui-corner-all.ui-state-highlight').remove()
2161                $('#'+sousform+obj+' a.retour').first().before(
2162                    '<div ' +
2163                        'class="message ui-widget ui-corner-all ui-state-highlight">' +
2164                        '<p>' +
2165                            '<span class="ui-icon ui-icon-info"></span>' +
2166                            '<span class="text">' +
2167                            '</span>' +
2168                        '</p>' +
2169                    '</div>'                    
2170                );
2171                
2172                //Si la finalisation a été effectuée avec succès
2173                if ( data.pdf != -1 ){
2174                    
2175                    // On change le lien
2176                    var etat = ((status == 1)?'':'de') + 'finalis';
2177                    
2178                    $('.'+etat+'e').parent().parent().html(
2179                        data.portlet+""
2180                    );
2181                    
2182                    //On affiche le lien de l'action inverse
2183                    $('.edition').parent().attr("href", data.pdf+"");
2184                    
2185                    //Si on le document est finalisé, on cache les actions du portlet
2186                    if ( status == 1 ){
2187                        
2188                        $(".edit-16").parent().parent().remove();
2189                        $(".delete-16").parent().parent().remove();
2190                    }
2191                    else{
2192                        
2193                        var actions = '';
2194                        //Si le lien modifier est autorisé pour cet utilisateur
2195                        if ( typeof(data.actions.modifier)!='undefined' ){
2196                            
2197                            actions += data.actions.modifier;
2198                        }
2199                        
2200                        //Si le lien supprimer est autorisé pour cet utilisateur
2201                        if ( typeof(data.actions.supprimer)!='undefined' ){
2202                            
2203                            actions += data.actions.supprimer;
2204                        }
2205                        
2206                        $('.portlet-list').prepend(actions);
2207                    }
2208                    
2209                    //On affiche un message de valisation
2210                    $('#'+sousform+obj+' .message').addClass("ui-state-valid");
2211                    $('#'+sousform+obj+' .message .text').html(
2212                        "La "+etat+"ation du document s'est effectuée avec succès."
2213                    );
2214                }
2215                // Si une erreur s'est produite
2216                else {
2217                    
2218                    //On affiche un message de validation
2219                    $('#'+sousform+obj+' .message').addClass("ui-state-error");
2220                    $('#'+sousform+obj+' .message .text').html(
2221                        "Une erreur s'est produite lors de la finalisation du document."
2222                    );
2223                }
2224            }
2225        });
2226    }
2227    
2228    /**
2229     * Cette fonction permet d'afficher les options d'un select par rapport
2230     * à un autre champ
2231     *
2232     * @param  int id               Données (identifiant) du champ visé
2233     * @param  string tableName     Nom de la table
2234     * @param  string linkedField   Champ visé
2235     * @param  string formCible     Formulaire visé
2236     */
2237    function filterSelect(id, tableName, linkedField, formCible) {
2238    
2239        //lien vers script php
2240        link = "../app/filterSelect.php?idx=" + id + "&tableName=" + tableName +
2241                "&linkedField=" + linkedField + "&formCible=" + formCible;
2242    
2243        $.ajax({
2244            type: "GET",
2245            url: link,
2246            cache: false,
2247            dataType: "json",
2248            success: function(res){
2249                $('#'+tableName).empty();
2250    
2251                for ( j=0 ; j < res[0].length ; j++ ){
2252    
2253                    $('#'+tableName).append(
2254                        '<option value="'+res[0][j]+'" >'+res[1][j]+'</option>'
2255                    );
2256                    
2257                }
2258    
2259            },
2260            async: false
2261        });
2262    }
2263    
2264    /**
2265     * Redirige vers une page après un temps d'attente
2266     * @param  string   page            lien de la page vers la redirection
2267     * @param  int      milliseconde    temps d'attente avant la redirection
2268     */
2269    function redirection(page, milliseconde) {
2270    
2271        //
2272        setTimeout(window.location = page, milliseconde);
2273    }
2274    
2275    /**
2276     * Retourne ce qu'il y a à afficher dans le formulaire de retour (bouton ajouter ou supprimer et éditer)
2277     */
2278    function getObjId(obj){
2279    
2280        //Récupération de l'id de l'objet
2281        var id=$('#id_retour').val();
2282    
2283        //Retour des données
2284        if ( $('#id_retour').length > 0 ){
2285            setDataFrequent(id, obj);
2286            om_initialize_content();
2287        }
2288    }
2289    
2290    function setDataFrequent(id,obj) {
2291        $.ajax({
2292            type: "GET",
2293            url: '../app/afficher_synthese_obj.view.php?idx='+id+'&obj=' + obj,
2294            cache: false,
2295            success: function(html){
2296                $('.add_'+obj).each(
2297                    function(){
2298                        $(this).remove();
2299                    }
2300                );
2301                $(html).insertBefore('#'+obj).fadeIn(500);
2302                $('#'+obj).val(id);
2303            },
2304            async:false
2305        });
2306    }
2307    
2308    /**
2309     * Redirige vers le script PHP pour mettre à jour les informations
2310     * et met à jour l'interface pour l'utilisateur
2311     * @param  string   id          Identifiant du dossier
2312     * @param  string   fieldname   Nom du champ
2313     * @param  Function callback    Fonction mettant à jour l'interface des données
2314     */
2315    function geolocalisation_treatment(id, fieldname, callback) {
2316    
2317        // Affichage du spinner
2318        $('#'+fieldname).each(
2319            function(){
2320                $(this).children().removeClass();
2321                $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-empty');
2322                $(this).children().children().children(".text").html(msg_loading);
2323            }
2324        );
2325        
2326        // lien vers script PHP faisant l'appel au webservice
2327        link = '../app/geolocalisation_treatment.php?fieldname='+fieldname+'&id='+id+'&callback='+callback;
2328    
2329        // Traitement
2330        $.ajax({
2331            type: "GET",
2332            url: link,
2333            cache: false,
2334            dataType: "json",
2335            success: function(res){
2336                //alert(res['return']['coordX']);
2337                $('#'+fieldname).each(
2338                    function(){
2339                        $(this).children().children().children(".text").text(res['log']['message']);
2340                        $(this).children().removeClass();
2341                        if (res['log']['etat'] == 't') {
2342                            $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-valid');
2343                        } else {
2344                            $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2345                        }
2346                    }
2347                );
2348    
2349                //
2350                if (typeof(callback) === "function" && res['log']['etat'] == 't') {
2351                    callback(res);
2352                }
2353            },
2354            async:false
2355        });
2356    }
2357    
2358    /**
2359     * Efface le message en haut du formulaire
2360     * @param array res Résultat après le traitement du script PHP
2361     */
2362    function set_geolocalisation_message(res) {
2363        $('#geolocalisation-message').remove();
2364    }
2365    
2366    /**
2367     * Met à jour le champ centroïde à jour
2368     * @param  array   res  Résultat après le traitement du script PHP
2369     */
2370    function set_geolocalisation_centroide(res) {
2371        $('#centroide').text(res['return']['coordX']+", "+res['return']['coordY']);
2372    }
2373    
2374    /**
2375     * Met le champ servitude à jour
2376     * @param  array   res  Résultat après le traitement du script PHP
2377     */
2378    function set_geolocalisation_contrainte(res) {
2379        $('#servitude').text(res['return']['servitude']);
2380    }
2381    
2382    /**
2383     * Redirige vers ElyxWeb
2384     * @param array res Résultat après le traitement du script PHP
2385     */
2386    function redirection_elyxweb(res) {
2387        window.open(res['return']);
2388    }
2389    
2390    /**
2391     * Remplit le formulaire avec l'adresse trouvée ou affiche un message d'erreur
2392     */
2393    function getAdressFromCadastrale(){
2394        
2395        //Récupération des références cadastrales
2396        var referenceCadastrale = '{"refcad":[{';
2397        var i = 0 ;
2398        var j = 1 ;
2399        var delimit = 0;
2400        var parcelleDelimit = 0;
2401        var noReferenceCadastrale = false;
2402        $(".reference_cadastrale_custom_field").each(
2403            function(){
2404                
2405                //On vérifie que le champ n'est pas vide
2406                if ($(this).val()!=""&&$(this).val() != ";"){
2407                    noReferenceCadastrale = true;
2408                }
2409                
2410                //On va à la ligne suivante
2411                if ( $(this).val() == ";" ){
2412                    referenceCadastrale +=(delimit!=0)?'}]':'';
2413                    referenceCadastrale += "}" ;
2414                    i++;
2415                    j = 1;
2416                    delimit = 0;
2417                    parcelleDelimit = 0;
2418                }
2419                //On parcourt la ligne
2420                else {
2421                    switch(true){
2422                        //Quartier
2423                        case (j==1):
2424                            referenceCadastrale += (i!=0)?',':'';
2425                            referenceCadastrale += '"' + i + '"' + ':{"quartier":"'+$(this).val()+'"';
2426                            break;
2427                        //Section
2428                        case (j==2):
2429                            referenceCadastrale += ', "section":"'+$(this).val()+'"';
2430                            break;
2431                        //Parcelle
2432                        case (j==3):
2433                            referenceCadastrale += ', "parcelle":"'+$(this).val()+'"';
2434                            break;
2435                        //Le délimiteur
2436                        case (j%2==0&&j!=2):
2437                            if ( delimit==0 ){
2438                                referenceCadastrale += ', "delimit":[{"'+(delimit++)+'":"'+$(this).val()+'"';
2439                            }
2440                            else {
2441                                referenceCadastrale += ', "'+(delimit++)+'":"'+$(this).val()+'"';
2442                            }
2443                            break;
2444                        //La parcelle après le délimiteur
2445                        case (j%2==1&&j!=1&&j!=3):
2446                            referenceCadastrale += ',"'+(delimit++)+'":"'+$(this).val()+'"';
2447                            break;
2448                    }
2449                    j++;
2450                }
2451            }
2452        );
2453        if ( noReferenceCadastrale == true ){
2454            referenceCadastrale += "}]}";
2455        }
2456        else {
2457            referenceCadastrale = "";
2458        }
2459    
2460        //Lance la tentative de récupération de l'adresse
2461        $.ajax({
2462            type: "POST",
2463            url: '../app/getAdressFromCadastrale.php',
2464            data: $.parseJSON(referenceCadastrale),
2465            cache: false,
2466            dataType: "json",
2467            success: function(data){
2468    
2469                //Si le retour est un objet JSON, on a un résultat
2470                if ( $.isPlainObject(data)){
2471                    
2472                    //On met l'adresse dans les champs
2473                    $("#terrain_adresse_voie_numero").val(data.return.dnuvoi);
2474                    $("#terrain_adresse_voie").val(data.return.prefixe+" "+data.return.nom);
2475                    $("#terrain_adresse_code_postal").val(data.return.arrdt);
2476                    $("#terrain_adresse_localite").val(data.return.localite);
2477                }
2478                //Sinon, on affiche un message d'erreur
2479                else {
2480                    alert(data);
2481                }
2482            },
2483            async: false
2484        });
2485    }

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26