diff --git a/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js b/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js index eaed9561ddf04f859db73cc3d68093fbb45210e4..91a57bf08b978aba916e302d0bbed6393037e661 100644 --- a/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js +++ b/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js @@ -274,7 +274,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController = function sString = oVmap.checkLink(sString); }else{ sString = oVmap.parseLink(sString, 'link'); - } + } return $sce.trustAsHtml(sString); }; }; @@ -926,7 +926,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } tmp = Date.now(); setTimeout(function () { - var aSelected = $(parcelleTable).bootstrapTable('getSelections'); + var aSelected = $(parcelleTable).bootstrapTable('getAllSelections'); this_['tablesSelection'][parcelleTable] = aSelected; }); }; @@ -986,7 +986,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayParcelleDescriptiveSheetByTable = function (parcelleTable) { oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayParcelleDescriptiveSheetByTable'); - var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections'); + var selectedParcelles = $(parcelleTable).bootstrapTable('getAllSelections'); if (selectedParcelles.length !== 1) { $.notify('Veuillez sélectionner une unique parcelle', 'info'); @@ -1128,7 +1128,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayUrbanismeSheetByTable = function (parcelleTable) { oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayUrbanismeSheetByTable'); - var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections'); + var selectedParcelles = $(parcelleTable).bootstrapTable('getAllSelections'); if (selectedParcelles.length !== 1) { $.notify('Veuillez sélectionner une unique parcelle', 'info'); @@ -1482,7 +1482,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetParcelle = function (parcelleTable) { oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetTiers'); - var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections'); + var selectedParcelles = $(parcelleTable).bootstrapTable('getAllSelections'); if (selectedParcelles.length !== 1) { $.notify('Veuillez sélectionner une unique parcelle', 'info'); @@ -1508,7 +1508,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetStandard = function (compteTable) { oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetStandard'); - var selectedComptes = $(compteTable).bootstrapTable('getSelections'); + var selectedComptes = $(compteTable).bootstrapTable('getAllSelections'); if (selectedComptes.length !== 1) { $.notify('Veuillez sélectionner un unique compte', 'info'); @@ -1535,7 +1535,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetTiers = function (compteTable) { oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayReleveDeProprieteSheetTiers'); - var selectedComptes = $(compteTable).bootstrapTable('getSelections'); + var selectedComptes = $(compteTable).bootstrapTable('getAllSelections'); if (selectedComptes.length !== 1) { $.notify('Veuillez sélectionner un unique compte', 'info'); @@ -1583,7 +1583,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayRapportParcelle = function (parcelleTable, rapportType, bOpenWindow) { oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.displayRapportParcelle'); - var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections'); + var selectedParcelles = $(parcelleTable).bootstrapTable('getAllSelections'); bOpenWindow = goog.isDef(bOpenWindow) ? bOpenWindow : true; @@ -2084,7 +2084,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. */ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.addSelectionFromTable = function (path, param, tableId, tabCode, callBack) { oVmap.log('nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype.addSelectionFromTable'); - var tableSelections = $(tableId).bootstrapTable('getSelections'); + var tableSelections = $(tableId).bootstrapTable('getAllSelections'); if (this['cadastreAPI_'] === "cadastre") { var paramField = param; } else { @@ -2235,7 +2235,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. tableParam = goog.isDef(tableParam) ? tableParam : param; var cadastreController = this; - var tableSelections = $(tableId).bootstrapTable('getSelections'); + var tableSelections = $(tableId).bootstrapTable('getAllSelections'); var url = oVmap['properties']['api_url'] + '/' + path; var loadHttp = function () { @@ -2628,7 +2628,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. var data = response['data']['data']; - // Ajoute le type de voie + // Ajoute le type de voie for (var i = 0; i < data.length; i++) { if (goog.isDefAndNotNull(data[i]['L_NATURE_VOIE'])) { data[i]['NOM_VOIE'] = data[i]['L_NATURE_VOIE'] + ' ' + data[i]['DVOILIB']; @@ -2925,7 +2925,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. $(tableId).off('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table'); $(tableId).on('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table', function (e, row) { $(parcelleTableId).bootstrapTable('removeAll'); - cadastreController.getBaseParcellesByProprietaireOnTable(row['ID_COM'], $(tableId).bootstrapTable('getSelections'), parcelleTableId); + cadastreController.getBaseParcellesByProprietaireOnTable(row['ID_COM'], $(tableId).bootstrapTable('getAllSelections'), parcelleTableId); }); // Si une seule ligne est proposée, alors on la sélectionne if (data.length === 1) { @@ -3212,7 +3212,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. $(invariantsTableId).bootstrapTable('removeAll'); $(parcellesTableId).bootstrapTable('removeAll'); - cadastreController.getBatiBaseInvariantsOnTable($(tableId).bootstrapTable('getSelections'), invariantsTableId, parcellesTableId); + cadastreController.getBatiBaseInvariantsOnTable($(tableId).bootstrapTable('getAllSelections'), invariantsTableId, parcellesTableId); }); // Si une seule ligne est proposée, alors on la sélectionne @@ -3305,7 +3305,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. $(tableId).off('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table'); $(tableId).on('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table', function (e, row) { $(parcellesTableId).bootstrapTable('removeAll'); - cadastreController.getBatiBaseParcellesOnTable($(tableId).bootstrapTable('getSelections'), parcellesTableId); + cadastreController.getBatiBaseParcellesOnTable($(tableId).bootstrapTable('getAllSelections'), parcellesTableId); }); // Si une seule ligne est proposée, alors on la sélectionne @@ -3500,7 +3500,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos de la section - if ($(tableSection).bootstrapTable('getSelections').length > 0) { + if ($(tableSection).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_section'); // Crée l'onglet correspondant @@ -3550,7 +3550,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos du lieu dit - if ($(tableLieuDit).bootstrapTable('getSelections').length > 0) { + if ($(tableLieuDit).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_lieu_dit'); // Crée l'onglet correspondant @@ -3615,7 +3615,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos de la Parcelle - if ($(tableParcelle).bootstrapTable('getSelections').length > 0) { + if ($(tableParcelle).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_parcelle'); // Crée l'onglet correspondant @@ -3668,7 +3668,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos de la Voie - if ($(tableVoie).bootstrapTable('getSelections').length > 0) { + if ($(tableVoie).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_voie'); // Crée l'onglet correspondant @@ -3703,7 +3703,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. this.addSelectionFromSelect(oVmap["properties"]["cadastre"]["api"] + '/parcelles', 'id_par', selectAdresse, 'veremes_cadastre_parcelle'); // Si on choisit de voir toutes les géométries - } else if ($(tableVoie).bootstrapTable('getSelections').length > 0 && this['aAdresses'].length > 0) { + } else if ($(tableVoie).bootstrapTable('getAllSelections').length > 0 && this['aAdresses'].length > 0) { this.aFormList_.push('veremes_cadastre_parcelle'); // Crée l'onglet correspondant @@ -3730,7 +3730,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. if ($(selectAdresse).val() !== "") this.localiseFromSelect(oVmap["properties"]["cadastre"]["api"] + '/parcelles', 'id_par', selectAdresse); - else if ($(tableVoie).bootstrapTable('getSelections').length > 0) { + else if ($(tableVoie).bootstrapTable('getAllSelections').length > 0) { this.localiseFromArray(oVmap["properties"]["cadastre"]["api"] + '/parcelles', 'id_par', this['aAdresses'], 'ID_PAR'); } }; @@ -3775,7 +3775,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos du propriétaire - if ($(tableProprietaires).bootstrapTable('getSelections').length > 0) { + if ($(tableProprietaires).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_proprietaire'); // Crée l'onglet correspondant @@ -3783,13 +3783,13 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_proprietaire', tabName: 'Propriétaire', actions: ['delete']}); // Ajoute les infos - var proprietaire = $(tableProprietaires).bootstrapTable('getSelections')[0]; + var proprietaire = $(tableProprietaires).bootstrapTable('getAllSelections')[0]; this.addSelectionFrom2Values(oVmap["properties"]["cadastre"]["api"] + '/proprietaires', 'DDENOM', proprietaire['DDENOM'], 'ID_COM', proprietaire['ID_COM'], 'veremes_cadastre_proprietaire'); } // Ajoute les infos du compte - if ($(tableComptes).bootstrapTable('getSelections').length > 0) { + if ($(tableComptes).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_compte'); // Crée l'onglet correspondant @@ -3797,7 +3797,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_compte', tabName: 'Compte', actions: ['delete']}); // Ajoute les infos - var aComptes = $(tableComptes).bootstrapTable('getSelections'); + var aComptes = $(tableComptes).bootstrapTable('getAllSelections'); if (this['cadastreAPI_'] === "cadastre") { var id_com = 'ID_COM'; var dnupro = 'DNUPRO'; @@ -3829,7 +3829,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos de la parcelle - if ($(tableParcelles).bootstrapTable('getSelections').length > 0) { + if ($(tableParcelles).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_parcelle'); // Crée l'onglet correspondant @@ -3837,7 +3837,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_parcelle', tabName: 'Parcelle', actions: ['zoom', 'delete']}); // Ajoute les infos - var aParcelles = $(tableParcelles).bootstrapTable('getSelections'); + var aParcelles = $(tableParcelles).bootstrapTable('getAllSelections'); this.addSelectionFromArray(oVmap["properties"]["cadastre"]["api"] + '/parcelles', 'id_par', aParcelles, 'ID_PAR', 'veremes_cadastre_parcelle'); } @@ -3897,7 +3897,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos du propriétaire - if ($(tableProprietaires).bootstrapTable('getSelections').length > 0) { + if ($(tableProprietaires).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_proprietaire'); // Crée l'onglet correspondant @@ -3905,19 +3905,19 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_proprietaire', tabName: 'Propriétaire', actions: ['delete']}); // Ajoute les infos - var proprietaire = $(tableProprietaires).bootstrapTable('getSelections')[0]; + var proprietaire = $(tableProprietaires).bootstrapTable('getAllSelections')[0]; this.addSelectionFrom2Values(oVmap["properties"]["cadastre"]["api"] + '/proprietaires', ddenomF, proprietaire['DDENOM'], id_comF, proprietaire['ID_COM'], 'veremes_cadastre_proprietaire'); } // Ajoute les infos du compte - if ($(tableComptes).bootstrapTable('getSelections').length > 0) { + if ($(tableComptes).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_compte'); // Crée l'onglet correspondant if (oVmap.getToolsManager().getInfoContainer().getTabByCode('veremes_cadastre_compte') === undefined) oVmap.getToolsManager().getInfoContainer().addTab({tabCode: 'veremes_cadastre_compte', tabName: 'Compte', actions: ['delete']}); - var aComptes = $(tableComptes).bootstrapTable('getSelections'); + var aComptes = $(tableComptes).bootstrapTable('getAllSelections'); if (this['cadastreAPI_'] === "cadastre") { var id_com = 'ID_COM'; var dnupro = 'DNUPRO'; @@ -3951,7 +3951,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos de l'invariant - if ($(tableInvariants).bootstrapTable('getSelections').length > 0) { + if ($(tableInvariants).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_invariant'); // Crée l'onglet correspondant @@ -3963,7 +3963,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. } // Ajoute les infos de la parcelle - if ($(tableParcelles).bootstrapTable('getSelections').length > 0) { + if ($(tableParcelles).bootstrapTable('getAllSelections').length > 0) { this.aFormList_.push('veremes_cadastre_parcelle'); // Crée l'onglet correspondant diff --git a/src/module_vmap/module/javascript/app/vmap/tools/select/basicselect.js b/src/module_vmap/module/javascript/app/vmap/tools/select/basicselect.js index f8d0af3ccdbafe8cc7ba4a165cb54767d5d7e001..475f4fd042bb647563ca73111b3bd5e76127a3ae 100755 --- a/src/module_vmap/module/javascript/app/vmap/tools/select/basicselect.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/select/basicselect.js @@ -282,8 +282,10 @@ nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototype.quer */ nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototype.getBOLayersFilters_ = function (oQueryBo) { oVmap.log('nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototypeBO.getLayersFilters_'); + var formReaderSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["formReaderService"]); var oFilterValues = {}; + var oFilterDefinition = {}; var sFilter = ""; var filter = { 'relation': 'AND', @@ -297,6 +299,13 @@ nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototype.getB oLayerFilter_ = oQueryBo['layers'][i].get('filter_values_cleared'); if (goog.isObject(oLayerFilter_)) { goog.object.extend(oFilterValues, oLayerFilter_); + oLayerFilterDef_ = oQueryBo['layers'][i].get('filter_form'); + if(goog.isObject(oLayerFilterDef_)){ + for (var field in oLayerFilter_){ + var oFieldDef = formReaderSrvc["getFormElementDefinition"](field, 'search', oLayerFilterDef_); + oFilterDefinition[field] = oFieldDef; + } + } } } } @@ -323,12 +332,50 @@ nsVmap.nsToolsManager.BasicSelect.prototype.basicSelectController.prototype.getB continue; } } - - filter['operators'].push({ - 'column': key, - 'compare_operator': goog.isArray(oFilterValues[key]) ? 'IN' : '=', - 'value': oFilterValues[key] - }); + var sValue = oFilterValues[key] + //surcharge le filtre si une définition est rpésente dans le formulaire + if(goog.isDefAndNotNull(oFilterDefinition[key]["comparator"])){ + var aOperators = []; + for (var j = 0;j < oFilterDefinition[key]["comparator"].length;j++){ + var oOperator = {}; + if (goog.isDefAndNotNull(oFilterDefinition[key]["comparator"][j]["formater"])) { + sValue = oFilterDefinition[key]["comparator"][j]["formater"].replace(/<VALUE_TO_REPLACE>/g, sValue); + } + if(goog.isArray(oFilterDefinition[key]["comparator"][j]["compare_operator"])) { + oOperator["relation"] = (goog.isDefAndNotNull(oFilterDefinition[key]["comparator"][j]["relation"]) ? oFilterDefinition[key]["comparator"][j]["relation"] : "AND"); + oOperator["operators"] = []; + for (var k = 0; k < oFilterDefinition[key]["comparator"][j]["compare_operator"].length; k++){ + oOperator["operators"].push({ + "column": (goog.isArray(oFilterDefinition[key]["comparator"][j]["column"]) ? oFilterDefinition[key]["comparator"][j]["column"][k] : key), + "compare_operator": oFilterDefinition[key]["comparator"][j]["compare_operator"][k], + "value": sValue + }); + } + }else{ + oOperator["column"] = (goog.isDefAndNotNull(oFilterDefinition[key]["comparator"][j]["column"]) ? oFilterDefinition[key]["comparator"][j]["column"] : key); + oOperator["compare_operator"] = oFilterDefinition[key]["comparator"][j]["compare_operator"]; + oOperator["value"] = sValue; + } + if(goog.isDefAndNotNull(oFilterDefinition[key]["comparator"][j]["compare_operator_options"])){ + oOperator["compare_operator_options"] = oFilterDefinition[key]["comparator"][j]["compare_operator_options"]; + } + aOperators.push(oOperator); + } + if(goog.isDefAndNotNull(oFilterDefinition[key]["comparator_relation"])){ + filter['operators'].push({ + "relation": oFilterDefinition[key]["comparator_relation"], + "operators": aOperators + }); + }else{ + filter['operators'] = filter['operators'].concat(aOperators); + } + } else { + filter['operators'].push({ + 'column': key, + 'compare_operator': goog.isArray(oFilterValues[key]) ? 'IN' : '=', + 'value': sValue + }); + } } sFilter = JSON.stringify(filter); diff --git a/src/module_vmap/web_service/sql/sqlQueries.xml b/src/module_vmap/web_service/sql/sqlQueries.xml index cbe6c7bfb1c8f72f64dc354137eeb98e981f4d00..e96354f4c9b16f78e67a075817424635d108985e 100644 --- a/src/module_vmap/web_service/sql/sqlQueries.xml +++ b/src/module_vmap/web_service/sql/sqlQueries.xml @@ -1140,8 +1140,6 @@ <version>2018.04.00</version> <code> <![CDATA[ - -- Armand 06/11/2018 enlever le mode onfiguration quand on est vmap_admin - DELETE FROM s_vitis.vm_mode_rolname WHERE mode_id='configuration' AND rolname='vmap_admin'; ]]> </code> </query>