diff --git a/.gitignore b/.gitignore index d8b5d9919508b3efbd1b1fdc1d91adb22b53876d..3197de7543d416ed1e6766c8e001ac9d61972146 100644 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1,6 @@ -client -vas +vas/ +client/ conf/closure conf/node_modules/ conf/properties.json -src/closure/conf/depswriter/ -src/vitis/vas/log/ -src/vitis/vas/public/ -src/vitis/vas/server/ -src/vitis/vas/ws_data/ -src/vitis/vas/tmp/ -src/vitis/client/modules/ -! src/vitis/client/modules/vitis/ -src/vitis/vas/rest/ws/* -! src/vitis/vas/rest/ws/vitis/ -src/vitis/vas/sql/* -! src/vitis/vas/sql/sqlQueries.xml +src/closure/ diff --git a/conf/properties.json b/conf/properties.json new file mode 100644 index 0000000000000000000000000000000000000000..57a2e1354b12a276f527c018ea22dc106e3392d6 --- /dev/null +++ b/conf/properties.json @@ -0,0 +1,19 @@ +{ + "services_alias": "rest[ENV]", + "web_server_name": "https://[hostname]:[PORT]/", + "vmap_folder": "modules/vmap", + "proxy_url": "https://[hostname]:[PORT]/proxy[ENV]/proxy.php", + "version": "[VERSION]", + "build": "[BUILD]", + "status": "unstable", + "month_year": "[MONTH_YEAR]", + "application": "vmap", + "environment": "[ENV]", + "mobile_interface": "true", + "mobile_interface_min_width": "1280", + "geolocation": "true", + "documentation": [{ + "name": "Documentation vMap", + "url": "https://vmap.readthedocs.io/fr/latest/" + }] +} diff --git a/install.bat b/install.bat new file mode 100644 index 0000000000000000000000000000000000000000..d3123bf3fd1bea62aa71042192d9505b4fea7982 --- /dev/null +++ b/install.bat @@ -0,0 +1,18 @@ +@echo off +title Install Vitis App +echo Install Vitis App + +cd utils +call init_tree.bat +call copy_hooks.bat + +cd ../client/conf +call npm install grunt --save +call npm install grunt-cli +call npm install grunt-closure-tools --save +call npm install google-closure-compiler@20160911.0.0 --save +call npm install google-closure-library@20160911.0.0 --save +call grunt + +cd .. +pause diff --git a/install.sh b/install.sh index a085f0343734169c70293c3e281b3018fcb4e022..c67e39752717c3a5b10cb3d1b20c7e1d4304784b 100755 --- a/install.sh +++ b/install.sh @@ -21,5 +21,5 @@ else npm install grunt-closure-tools --save npm install google-closure-compiler@20160911.0.0 --save npm install google-closure-library@20160911.0.0 --save - grunt --dev + grunt -dev fi diff --git a/pull.sh b/pull_subtrees.sh similarity index 100% rename from pull.sh rename to pull_subtrees.sh diff --git a/src/module_vmap/module/css/mobile.less b/src/module_vmap/module/css/mobile.less index a281bf0695a6f93a48f1e91b70ac5e9f288d6716..fd900b75f297d667806837678592ecc6c66f8f34 100755 --- a/src/module_vmap/module/css/mobile.less +++ b/src/module_vmap/module/css/mobile.less @@ -276,3 +276,14 @@ app-map > div { #select-bo-select{ max-width: 23vw; } + +.basic-tools-dropdown-select-getFeatureInfo-content{ + display: block; + top: 0px !important; + height: 100%; + padding: 0px !important; + margin: 0px !important; + right: 0px !important; + width: 100% !important; + min-width: auto; +} 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 91a57bf08b978aba916e302d0bbed6393037e661..eaed9561ddf04f859db73cc3d68093fbb45210e4 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('getAllSelections'); + var aSelected = $(parcelleTable).bootstrapTable('getSelections'); 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('getAllSelections'); + var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections'); 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('getAllSelections'); + var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections'); 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('getAllSelections'); + var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections'); 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('getAllSelections'); + var selectedComptes = $(compteTable).bootstrapTable('getSelections'); 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('getAllSelections'); + var selectedComptes = $(compteTable).bootstrapTable('getSelections'); 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('getAllSelections'); + var selectedParcelles = $(parcelleTable).bootstrapTable('getSelections'); 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('getAllSelections'); + var tableSelections = $(tableId).bootstrapTable('getSelections'); 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('getAllSelections'); + var tableSelections = $(tableId).bootstrapTable('getSelections'); 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('getAllSelections'), parcelleTableId); + cadastreController.getBaseParcellesByProprietaireOnTable(row['ID_COM'], $(tableId).bootstrapTable('getSelections'), 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('getAllSelections'), invariantsTableId, parcellesTableId); + cadastreController.getBatiBaseInvariantsOnTable($(tableId).bootstrapTable('getSelections'), 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('getAllSelections'), parcellesTableId); + cadastreController.getBatiBaseParcellesOnTable($(tableId).bootstrapTable('getSelections'), 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('getAllSelections').length > 0) { + if ($(tableSection).bootstrapTable('getSelections').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('getAllSelections').length > 0) { + if ($(tableLieuDit).bootstrapTable('getSelections').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('getAllSelections').length > 0) { + if ($(tableParcelle).bootstrapTable('getSelections').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('getAllSelections').length > 0) { + if ($(tableVoie).bootstrapTable('getSelections').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('getAllSelections').length > 0 && this['aAdresses'].length > 0) { + } else if ($(tableVoie).bootstrapTable('getSelections').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('getAllSelections').length > 0) { + else if ($(tableVoie).bootstrapTable('getSelections').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('getAllSelections').length > 0) { + if ($(tableProprietaires).bootstrapTable('getSelections').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('getAllSelections')[0]; + var proprietaire = $(tableProprietaires).bootstrapTable('getSelections')[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('getAllSelections').length > 0) { + if ($(tableComptes).bootstrapTable('getSelections').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('getAllSelections'); + var aComptes = $(tableComptes).bootstrapTable('getSelections'); 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('getAllSelections').length > 0) { + if ($(tableParcelles).bootstrapTable('getSelections').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('getAllSelections'); + var aParcelles = $(tableParcelles).bootstrapTable('getSelections'); 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('getAllSelections').length > 0) { + if ($(tableProprietaires).bootstrapTable('getSelections').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('getAllSelections')[0]; + var proprietaire = $(tableProprietaires).bootstrapTable('getSelections')[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('getAllSelections').length > 0) { + if ($(tableComptes).bootstrapTable('getSelections').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('getAllSelections'); + var aComptes = $(tableComptes).bootstrapTable('getSelections'); 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('getAllSelections').length > 0) { + if ($(tableInvariants).bootstrapTable('getSelections').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('getAllSelections').length > 0) { + if ($(tableParcelles).bootstrapTable('getSelections').length > 0) { this.aFormList_.push('veremes_cadastre_parcelle'); // Crée l'onglet correspondant diff --git a/src/module_vmap/module/javascript/app/vmap/tools/print.js b/src/module_vmap/module/javascript/app/vmap/tools/print.js index 342c526f9fc29d74118bafb824bad036e118c50d..8c779787a04216d8ac5ca2ec60d40e2b2bd29a12 100644 --- a/src/module_vmap/module/javascript/app/vmap/tools/print.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/print.js @@ -558,7 +558,6 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.print = function today = dd + '/' + mm + '/' + yyyy; // Valeurs par défaut - var resolutionCoeff = goog.isDefAndNotNull(opt_options.resolutionCoeff) ? opt_options.resolutionCoeff : 1; var templateId = opt_options.templateId; var printStyleId = opt_options.printStyleId; @@ -573,51 +572,6 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.print = function oPrintScope['date'] = goog.isDefAndNotNull(oPrintScope['date']) ? oPrintScope['date'] : today; var sScope = JSON.stringify(oPrintScope); - // Set mapId/mapJson - var sMapId; - var sMapJSON; - if (goog.isDefAndNotNull(opt_options.mapId)) { - sMapId = opt_options.mapId; - } else { - sMapJSON = oVmap.getMapManager().getJSONLayersTree(); - } - - // set EWKTFeatures - var aFeatures = goog.isDefAndNotNull(opt_options.features) ? opt_options.features : []; - var sEWKTFeatures = ''; - for (var i = 0; i < aFeatures.length; i++) { - if (i > 0) - sEWKTFeatures += '|'; - sEWKTFeatures += oVmap.getEWKTFromGeom(aFeatures[i].getGeometry()); - } - - // set extent - var aExtent = goog.isDefAndNotNull(opt_options.extent) ? opt_options.extent : []; - var sExtent = ''; - var aOverviewExtent = [ - aExtent[0] - (aExtent[2] - aExtent[0]), - aExtent[1] - (aExtent[3] - aExtent[1]), - aExtent[2] + (aExtent[2] - aExtent[0]), - aExtent[3] + (aExtent[3] - aExtent[1]) - ]; - var sOverviewExtent = ''; - for (var i = 0; i < aExtent.length; i++) { - if (i > 0) { - sExtent += '|'; - sOverviewExtent += '|'; - } - sExtent += aExtent[i]; - sOverviewExtent += aOverviewExtent[i]; - } - - // Features zoom - var sFeaturesZoom = 100; - if (goog.isDefAndNotNull(opt_options.featuresZoom)) { - sFeaturesZoom = opt_options.featuresZoom; - } else if (goog.isDefAndNotNull(oVmap['properties']['print']['features_zoom'])) { - sFeaturesZoom = oVmap['properties']['print']['features_zoom']; - } - // Ouvre la fenêtre d'impression var printWindow = window.open("", '_blank', 'height=400,width=600'); @@ -664,46 +618,17 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.print = function template.innerHTML = response['data']['data'][0]['definition']; var mapImageSize = this_.getTemplateTargetSize(template, '#map_image'); - var overviezSize = this_.getTemplateTargetSize(template, '#map_overview'); - - if (goog.isDefAndNotNull(mapImageSize)) { - var oMapDef = { - 'map_id': sMapId, - 'map_json': sMapJSON, - 'image_size': (mapImageSize[0] * resolutionCoeff) + '|' + (mapImageSize[1] * resolutionCoeff), - 'resolution_coeff': resolutionCoeff, - 'extent': sExtent, - 'features': sEWKTFeatures, - 'features_zoom': sFeaturesZoom - }; - } - - if (goog.isDefAndNotNull(overviezSize)) { - var oOverviewDef = { - 'map_id': sMapId, - 'map_json': sMapJSON, - 'image_size': (overviezSize[0] * resolutionCoeff) + '|' + (overviezSize[1] * resolutionCoeff), - 'resolution_coeff': resolutionCoeff, - 'extent': sOverviewExtent, - 'features': sEWKTFeatures, - 'features_zoom': 400 - }; - } - - var oMapsJson = []; - if (goog.isDefAndNotNull(oMapDef)) { - oMapsJson.push({ - 'target': '#map_image', - 'map_definition': oMapDef - }); - } - if (goog.isDefAndNotNull(oOverviewDef)) { - oMapsJson.push({ - 'target': '#map_overview', - 'map_definition': oOverviewDef - }); - } - var mapsJson = JSON.stringify(oMapsJson); + var overviewSize = this_.getTemplateTargetSize(template, '#map_overview'); + + var mapsJson = this_.getMapsJsonDef({ + mapId: opt_options.mapId, + resolutionCoeff: opt_options.resolutionCoeff, + extent: opt_options.extent, + features: opt_options.features, + featuresZoom: opt_options.featuresZoom, + mapImageSize: mapImageSize, + overviewSize: overviewSize + }) // Récupère les infos de l'utilisateur this_.getUserInfos_().then(function (oUserInfos) { @@ -773,6 +698,99 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.print = function return 1; }; +nsVmap.nsToolsManager.Print.prototype.printController.prototype.getMapsJsonDef = function (opt_options) { + oVmap.log('nsVmap.nsToolsManager.Print.prototype.printController.prototype.getMapsJsonDef'); + + // Resolution + var resolutionCoeff = goog.isDefAndNotNull(opt_options.resolutionCoeff) ? opt_options.resolutionCoeff : 1; + + // mapId/mapJson + var sMapId; + var sMapJSON; + if (goog.isDefAndNotNull(opt_options.mapId)) { + sMapId = opt_options.mapId; + } else { + sMapJSON = oVmap.getMapManager().getJSONLayersTree(); + } + + // Extent + var aExtent = goog.isDefAndNotNull(opt_options.extent) ? opt_options.extent : []; + var sExtent = ''; + var aOverviewExtent = [ + aExtent[0] - (aExtent[2] - aExtent[0]), + aExtent[1] - (aExtent[3] - aExtent[1]), + aExtent[2] + (aExtent[2] - aExtent[0]), + aExtent[3] + (aExtent[3] - aExtent[1]) + ]; + var sOverviewExtent = ''; + for (var i = 0; i < aExtent.length; i++) { + if (i > 0) { + sExtent += '|'; + sOverviewExtent += '|'; + } + sExtent += aExtent[i]; + sOverviewExtent += aOverviewExtent[i]; + } + + // Features + var aFeatures = goog.isDefAndNotNull(opt_options.features) ? opt_options.features : []; + var sEWKTFeatures = ''; + for (var i = 0; i < aFeatures.length; i++) { + if (i > 0) + sEWKTFeatures += '|'; + sEWKTFeatures += oVmap.getEWKTFromGeom(aFeatures[i].getGeometry()); + } + + var sFeaturesZoom = 100; + if (goog.isDefAndNotNull(opt_options.featuresZoom)) { + sFeaturesZoom = opt_options.featuresZoom; + } else if (goog.isDefAndNotNull(oVmap['properties']['print']['features_zoom'])) { + sFeaturesZoom = oVmap['properties']['print']['features_zoom']; + } + + if (goog.isDefAndNotNull(opt_options.mapImageSize)) { + var oMapDef = { + 'map_id': sMapId, + 'map_json': sMapJSON, + 'image_size': (opt_options.mapImageSize[0] * resolutionCoeff) + '|' + (opt_options.mapImageSize[1] * resolutionCoeff), + 'resolution_coeff': resolutionCoeff, + 'extent': sExtent, + 'features': sEWKTFeatures, + 'features_zoom': sFeaturesZoom + }; + } + + if (goog.isDefAndNotNull(opt_options.overviewSize)) { + var oOverviewDef = { + 'map_id': sMapId, + 'map_json': sMapJSON, + 'image_size': (opt_options.overviewSize[0] * resolutionCoeff) + '|' + (opt_options.overviewSize[1] * resolutionCoeff), + 'resolution_coeff': resolutionCoeff, + 'extent': sOverviewExtent, + 'features': sEWKTFeatures, + 'features_zoom': 400 + }; + } + + var oMapsJson = []; + if (goog.isDefAndNotNull(oMapDef)) { + oMapsJson.push({ + 'target': '#map_image', + 'map_definition': oMapDef + }); + } + if (goog.isDefAndNotNull(oOverviewDef)) { + oMapsJson.push({ + 'target': '#map_overview', + 'map_definition': oOverviewDef + }); + } + + var mapsJson = JSON.stringify(oMapsJson); + + return mapsJson; +} + /** * Get the size of a target in a template * @param {string} template diff --git a/src/module_vmap/module/javascript/vitis/script_module.js b/src/module_vmap/module/javascript/vitis/script_module.js index f14e1f323236a857733612f3f3c22a24fa55164c..00d7bea38f0f130a3f1f55460702749cb216fc1f 100644 --- a/src/module_vmap/module/javascript/vitis/script_module.js +++ b/src/module_vmap/module/javascript/vitis/script_module.js @@ -915,7 +915,9 @@ vitisApp.on('appMainDrtvLoaded', function () { } this['getCapabilities'](serviceUrl, { - 'version': serviceVersion + 'version': serviceVersion, + 'service_login': envSrvc["oFormValues"][envSrvc['sFormDefinitionName']]['service_login'], + 'service_password': envSrvc["oFormValues"][envSrvc['sFormDefinitionName']]['service_password'] }).then(function (oResult) { if (goog.isDefAndNotNull(oResult)) { if (goog.isDefAndNotNull(oResult['json'])) { @@ -1098,6 +1100,12 @@ vitisApp.on('appMainDrtvLoaded', function () { if (goog.isDefAndNotNull(scope['oServices'][sServiceId]['service_type_version'])) { envSrvc["oFormValues"][envSrvc['sFormDefinitionName']]["service_type_version"] = scope['oServices'][sServiceId]['service_type_version']; } + if (goog.isDefAndNotNull(scope['oServices'][sServiceId]['service_login'])) { + envSrvc["oFormValues"][envSrvc['sFormDefinitionName']]["service_login"] = scope['oServices'][sServiceId]['service_login']; + } + if (goog.isDefAndNotNull(scope['oServices'][sServiceId]['service_password'])) { + envSrvc["oFormValues"][envSrvc['sFormDefinitionName']]["service_password"] = scope['oServices'][sServiceId]['service_password']; + } } } else { sServiceType = envSrvc['oFormValues'][envSrvc['sFormDefinitionName']]['service_type_id']; @@ -2497,11 +2505,15 @@ vitisApp.on('appMainDrtvLoaded', function () { $translate(["BTN_ADD_LAYERS_VMAP_MAP_LAYER"]).then(function (oTranslations) { var sServiceUrl = envSrvc["oFormValues"][sParentFormDefinitionName]["service_url"]; + var sServiceLogin = envSrvc["oFormValues"][sParentFormDefinitionName]["service_login"]; + var sServicePassword = envSrvc["oFormValues"][sParentFormDefinitionName]["service_password"]; var sVersion = envSrvc["oFormValues"][sParentFormDefinitionName]["service_type_version"]; sServiceUrl = sServiceUrl.replace("[token]", sha256(sessionSrvc["token"])); sServiceUrl = sServiceUrl.replace("[ms_cgi_url]", propertiesSrvc["ms_cgi_url"]); this_['showLayerModalWindow']({ 'service_url': sServiceUrl, + 'service_login': sServiceLogin, + 'service_password': sServicePassword, 'service_version': sVersion, 'buttons': [{ "label": oTranslations["BTN_ADD_LAYERS_VMAP_MAP_LAYER"], @@ -2874,7 +2886,9 @@ vitisApp.on('appMainDrtvLoaded', function () { } else if (goog.isDefAndNotNull(sServiceUrl)) { // Calques du service wms. scope.$root['getCapabilities'](sServiceUrl, { - 'version': opt_options['service_version'] + 'version': opt_options['service_version'], + 'service_login': opt_options['service_login'], + 'service_password': opt_options['service_password'] }).then(function (oGetCapabilities) { oCapabilities = oGetCapabilities; if (goog.isDefAndNotNull(oCapabilities)) { @@ -2906,6 +2920,9 @@ vitisApp.on('appMainDrtvLoaded', function () { "showErrorMessage": true, "version": "1.3.0" }; + var oHeaders = { + "charset": "charset=utf-8" + }; if (typeof (oOptions) == "undefined") oOptions = oDefaultOptions; else { @@ -2918,6 +2935,11 @@ vitisApp.on('appMainDrtvLoaded', function () { if (!goog.isDefAndNotNull(oOptions['showErrorMessage'])) { oOptions['showErrorMessage'] = true; } + if (goog.isDefAndNotNull(oOptions['service_login']) && goog.isDefAndNotNull(oOptions['service_password'])) { + if (oOptions['service_login'].length > 0 && oOptions['service_password'].length > 0) { + oHeaders['Authorization'] = "Basic " + btoa(oOptions['service_login'] + ":" + oOptions['service_password']); + } + } // Création de l'url vers le service. if (sServiceUrl.indexOf("?") === -1) sServiceUrl += "?"; @@ -2941,6 +2963,7 @@ vitisApp.on('appMainDrtvLoaded', function () { "method": "GET", "url": propertiesSrvc['proxy_url'], "params": {"url": sServiceUrl}, + 'headers': oHeaders, "scope": scope, "responseType": "text", "success": function (response) { diff --git a/src/module_vmap/module/template/tools/print.html b/src/module_vmap/module/template/tools/print.html index 92421e58d937a6c2116346ef30a024b87037e46d..0a1fd62b4dcf92147ce7b543f37d661637c5f70c 100644 --- a/src/module_vmap/module/template/tools/print.html +++ b/src/module_vmap/module/template/tools/print.html @@ -45,8 +45,8 @@ <option value="100">1:100</option> </select> - <div class="hidden print-form-label">Résolution</div> - <select id="select-print-resolution" class="hidden form-control minus" ng-model="ctrl.dpi"> + <div class="print-form-label">Résolution</div> + <select id="select-print-resolution" class="form-control minus" ng-model="ctrl.dpi"> <option value="1">72 dpi</option> <option value="2" ng-show="ctrl.resolution <= 4">144 dpi</option> <option value="4" ng-show="ctrl.resolution <= 2">288 dpi</option> diff --git a/src/module_vmap/storage/veremes_demo_dessin/forms/custom.json b/src/module_vmap/storage/veremes_demo_dessin/forms/custom.json new file mode 100755 index 0000000000000000000000000000000000000000..40d59f8f0d8349d47d4f0f3d4a9b5170d17f78f1 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/forms/custom.json @@ -0,0 +1,629 @@ +{ + "display": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "draw_id", + "label": "draw_id", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "draw_id_1_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "description", + "label": "description", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "description_2_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "text_size", + "label": "text_size", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "text_size_3_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "geom_size", + "label": "geom_size", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "geom_size_4_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "contour_color", + "label": "Couleur de contour", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "contour_color_5_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "background_color", + "label": "Couleur de fond", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "background_color_6_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "color_label", + "label": "couleur du texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "color_label_7_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "label", + "label": "label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_8_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "graph", + "label": "graph", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "graph_9_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "area", + "label": "area", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "area_10_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "area_label", + "label": "area_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "area_label_11_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "perimeter", + "label": "perimeter", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "perimeter_12_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "perimeter_label", + "label": "perimeter_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "perimeter_label_13_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "text_label", + "label": "text_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "text_label_14_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "theme", + "label": "theme", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "comments", + "label": "comments", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "comments_16_1" + } + ] + } + ] +}, +"search": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [] +}, +"insert": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "text", + "name": "text_label", + "label": "Texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_text_14_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "theme", + "label": "Thème / Projet", + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "comments", + "label": "Commentaires", + "required": false, + "nb_cols": 6, + "id": "comments_16_1", + "size": 4 + }, + { + "type": "textarea", + "name": "description", + "label": "Etiquette", + "required": false, + "nb_cols": 6, + "id": "description_2_1", + "size": 4 + } + ] + }, + { + "fields": [ + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2206" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2207" + } + ] + }, + "name": "label", + "label": "Afficher le texte", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "label_8_1", + "default_value": true + }, + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2218" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2219" + } + ] + }, + "name": "graph", + "label": "Afficher la partie graph", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "graphique_9_1", + "default_value": true + } + ] + }, + { + "fields": [ + { + "type": "integer", + "name": "text_size", + "label": "Taille du texte", + "nb_cols": 6, + "id": "taille_text_3_1", + "default_value": 10, + "required": true + }, + { + "type": "integer", + "name": "geom_size", + "label": "Épaisseur/taille", + "nb_cols": 6, + "id": "taille_geom_4_1", + "default_value": 15, + "required": true + } + ] + }, + { + "fields": [ + { + "type": "color_picker", + "name": "background_color_rgba", + "label": "Couleur de fond", + "nb_cols": 4, + "id": "couleur_fond_6_1", + "default_value": "0 0 0", + "required": true + }, + { + "type": "color_picker", + "name": "contour_color_rgba", + "label": "Couleur de contour", + "nb_cols": 4, + "id": "couleur_contour_5_1", + "default_value": "0 0 0", + "required": true + }, + { + "type": "color_picker", + "name": "color_label_rgba", + "label": "couleur du texte", + "nb_cols": 4, + "id": "couleur_label_7_1", + "default_value": "0 0 0", + "required": true + } + ] + }, { + "fields": [ + { + "type": "hidden", + "name": "background_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "contour_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "color_label", + "nb_cols": 12 + } + ] + } + ] +}, +"update": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "draw_id", + "label": "Id", + "id": "id_dessin_1_1", + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "text_label", + "label": "Texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_text_14_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "theme", + "label": "Thème / Projet", + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "comments", + "label": "Commentaires", + "required": false, + "nb_cols": 6, + "id": "comments_16_1", + "size": 4 + }, + { + "type": "textarea", + "name": "description", + "label": "Etiquette", + "required": false, + "nb_cols": 6, + "id": "description_2_1", + "size": 4 + } + ] + }, + { + "fields": [ + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2044" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2045" + } + ] + }, + "name": "label", + "label": "Afficher le texte", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "label_8_1" + }, + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2056" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2057" + } + ] + }, + "name": "graph", + "label": "Afficher la partie graph", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "graphique_9_1" + } + ] + }, + { + "fields": [ + { + "type": "integer", + "name": "text_size", + "label": "Taille du texte", + "nb_cols": 6, + "id": "taille_text_3_1" + }, + { + "type": "integer", + "name": "geom_size", + "label": "Épaisseur/taille", + "nb_cols": 6, + "id": "taille_geom_4_1" + } + ] + }, + { + "fields": [ + { + "type": "color_picker", + "name": "background_color_rgba", + "label": "Couleur de fond", + "nb_cols": 4, + "id": "couleur_fond_6_1" + }, + { + "type": "color_picker", + "name": "contour_color_rgba", + "label": "Couleur de contour", + "nb_cols": 4, + "id": "couleur_contour_5_1" + }, + { + "type": "color_picker", + "name": "color_label_rgba", + "label": "couleur du texte", + "nb_cols": 4, + "id": "couleur_label_7_1" + } + ] + }, { + "fields": [ + { + "type": "hidden", + "name": "background_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "contour_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "color_label", + "nb_cols": 12 + } + ] + } + ] +}, +"datasources": {} +} diff --git a/src/module_vmap/storage/veremes_demo_dessin/forms/default.json b/src/module_vmap/storage/veremes_demo_dessin/forms/default.json new file mode 100755 index 0000000000000000000000000000000000000000..40d59f8f0d8349d47d4f0f3d4a9b5170d17f78f1 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/forms/default.json @@ -0,0 +1,629 @@ +{ + "display": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "draw_id", + "label": "draw_id", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "draw_id_1_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "description", + "label": "description", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "description_2_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "text_size", + "label": "text_size", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "text_size_3_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "geom_size", + "label": "geom_size", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "geom_size_4_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "contour_color", + "label": "Couleur de contour", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "contour_color_5_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "background_color", + "label": "Couleur de fond", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "background_color_6_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "color_label", + "label": "couleur du texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "color_label_7_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "label", + "label": "label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_8_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "graph", + "label": "graph", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "graph_9_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "area", + "label": "area", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "area_10_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "area_label", + "label": "area_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "area_label_11_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "perimeter", + "label": "perimeter", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "perimeter_12_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "perimeter_label", + "label": "perimeter_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "perimeter_label_13_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "text_label", + "label": "text_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "text_label_14_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "theme", + "label": "theme", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "comments", + "label": "comments", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "comments_16_1" + } + ] + } + ] +}, +"search": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [] +}, +"insert": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "text", + "name": "text_label", + "label": "Texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_text_14_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "theme", + "label": "Thème / Projet", + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "comments", + "label": "Commentaires", + "required": false, + "nb_cols": 6, + "id": "comments_16_1", + "size": 4 + }, + { + "type": "textarea", + "name": "description", + "label": "Etiquette", + "required": false, + "nb_cols": 6, + "id": "description_2_1", + "size": 4 + } + ] + }, + { + "fields": [ + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2206" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2207" + } + ] + }, + "name": "label", + "label": "Afficher le texte", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "label_8_1", + "default_value": true + }, + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2218" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2219" + } + ] + }, + "name": "graph", + "label": "Afficher la partie graph", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "graphique_9_1", + "default_value": true + } + ] + }, + { + "fields": [ + { + "type": "integer", + "name": "text_size", + "label": "Taille du texte", + "nb_cols": 6, + "id": "taille_text_3_1", + "default_value": 10, + "required": true + }, + { + "type": "integer", + "name": "geom_size", + "label": "Épaisseur/taille", + "nb_cols": 6, + "id": "taille_geom_4_1", + "default_value": 15, + "required": true + } + ] + }, + { + "fields": [ + { + "type": "color_picker", + "name": "background_color_rgba", + "label": "Couleur de fond", + "nb_cols": 4, + "id": "couleur_fond_6_1", + "default_value": "0 0 0", + "required": true + }, + { + "type": "color_picker", + "name": "contour_color_rgba", + "label": "Couleur de contour", + "nb_cols": 4, + "id": "couleur_contour_5_1", + "default_value": "0 0 0", + "required": true + }, + { + "type": "color_picker", + "name": "color_label_rgba", + "label": "couleur du texte", + "nb_cols": 4, + "id": "couleur_label_7_1", + "default_value": "0 0 0", + "required": true + } + ] + }, { + "fields": [ + { + "type": "hidden", + "name": "background_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "contour_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "color_label", + "nb_cols": 12 + } + ] + } + ] +}, +"update": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "draw_id", + "label": "Id", + "id": "id_dessin_1_1", + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "text_label", + "label": "Texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_text_14_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "theme", + "label": "Thème / Projet", + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "comments", + "label": "Commentaires", + "required": false, + "nb_cols": 6, + "id": "comments_16_1", + "size": 4 + }, + { + "type": "textarea", + "name": "description", + "label": "Etiquette", + "required": false, + "nb_cols": 6, + "id": "description_2_1", + "size": 4 + } + ] + }, + { + "fields": [ + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2044" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2045" + } + ] + }, + "name": "label", + "label": "Afficher le texte", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "label_8_1" + }, + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2056" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2057" + } + ] + }, + "name": "graph", + "label": "Afficher la partie graph", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "graphique_9_1" + } + ] + }, + { + "fields": [ + { + "type": "integer", + "name": "text_size", + "label": "Taille du texte", + "nb_cols": 6, + "id": "taille_text_3_1" + }, + { + "type": "integer", + "name": "geom_size", + "label": "Épaisseur/taille", + "nb_cols": 6, + "id": "taille_geom_4_1" + } + ] + }, + { + "fields": [ + { + "type": "color_picker", + "name": "background_color_rgba", + "label": "Couleur de fond", + "nb_cols": 4, + "id": "couleur_fond_6_1" + }, + { + "type": "color_picker", + "name": "contour_color_rgba", + "label": "Couleur de contour", + "nb_cols": 4, + "id": "couleur_contour_5_1" + }, + { + "type": "color_picker", + "name": "color_label_rgba", + "label": "couleur du texte", + "nb_cols": 4, + "id": "couleur_label_7_1" + } + ] + }, { + "fields": [ + { + "type": "hidden", + "name": "background_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "contour_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "color_label", + "nb_cols": 12 + } + ] + } + ] +}, +"datasources": {} +} diff --git a/src/module_vmap/storage/veremes_demo_dessin/forms/published.json b/src/module_vmap/storage/veremes_demo_dessin/forms/published.json new file mode 100755 index 0000000000000000000000000000000000000000..40d59f8f0d8349d47d4f0f3d4a9b5170d17f78f1 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/forms/published.json @@ -0,0 +1,629 @@ +{ + "display": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "draw_id", + "label": "draw_id", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "draw_id_1_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "description", + "label": "description", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "description_2_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "text_size", + "label": "text_size", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "text_size_3_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "geom_size", + "label": "geom_size", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "geom_size_4_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "contour_color", + "label": "Couleur de contour", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "contour_color_5_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "background_color", + "label": "Couleur de fond", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "background_color_6_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "color_label", + "label": "couleur du texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "color_label_7_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "label", + "label": "label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_8_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "graph", + "label": "graph", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "graph_9_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "area", + "label": "area", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "area_10_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "area_label", + "label": "area_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "area_label_11_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "perimeter", + "label": "perimeter", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "perimeter_12_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "options": { + "choices": [ + { + "label": "oui", + "value": true + }, + { + "label": "non", + "value": false + } + ] + }, + "name": "perimeter_label", + "label": "perimeter_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "perimeter_label_13_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "text_label", + "label": "text_label", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "text_label_14_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "theme", + "label": "theme", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "comments", + "label": "comments", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "comments_16_1" + } + ] + } + ] +}, +"search": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [] +}, +"insert": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "text", + "name": "text_label", + "label": "Texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_text_14_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "theme", + "label": "Thème / Projet", + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "comments", + "label": "Commentaires", + "required": false, + "nb_cols": 6, + "id": "comments_16_1", + "size": 4 + }, + { + "type": "textarea", + "name": "description", + "label": "Etiquette", + "required": false, + "nb_cols": 6, + "id": "description_2_1", + "size": 4 + } + ] + }, + { + "fields": [ + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2206" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2207" + } + ] + }, + "name": "label", + "label": "Afficher le texte", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "label_8_1", + "default_value": true + }, + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2218" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2219" + } + ] + }, + "name": "graph", + "label": "Afficher la partie graph", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "graphique_9_1", + "default_value": true + } + ] + }, + { + "fields": [ + { + "type": "integer", + "name": "text_size", + "label": "Taille du texte", + "nb_cols": 6, + "id": "taille_text_3_1", + "default_value": 10, + "required": true + }, + { + "type": "integer", + "name": "geom_size", + "label": "Épaisseur/taille", + "nb_cols": 6, + "id": "taille_geom_4_1", + "default_value": 15, + "required": true + } + ] + }, + { + "fields": [ + { + "type": "color_picker", + "name": "background_color_rgba", + "label": "Couleur de fond", + "nb_cols": 4, + "id": "couleur_fond_6_1", + "default_value": "0 0 0", + "required": true + }, + { + "type": "color_picker", + "name": "contour_color_rgba", + "label": "Couleur de contour", + "nb_cols": 4, + "id": "couleur_contour_5_1", + "default_value": "0 0 0", + "required": true + }, + { + "type": "color_picker", + "name": "color_label_rgba", + "label": "couleur du texte", + "nb_cols": 4, + "id": "couleur_label_7_1", + "default_value": "0 0 0", + "required": true + } + ] + }, { + "fields": [ + { + "type": "hidden", + "name": "background_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "contour_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "color_label", + "nb_cols": 12 + } + ] + } + ] +}, +"update": { + "name": "custom-form", + "title": "Dessin", + "input_size": "xxs", + "nb_cols": 12, + "javascript": true, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "draw_id", + "label": "Id", + "id": "id_dessin_1_1", + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "text_label", + "label": "Texte", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "label_text_14_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "theme", + "label": "Thème / Projet", + "required": false, + "nb_cols": 12, + "id": "theme_15_1" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "comments", + "label": "Commentaires", + "required": false, + "nb_cols": 6, + "id": "comments_16_1", + "size": 4 + }, + { + "type": "textarea", + "name": "description", + "label": "Etiquette", + "required": false, + "nb_cols": 6, + "id": "description_2_1", + "size": 4 + } + ] + }, + { + "fields": [ + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2044" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2045" + } + ] + }, + "name": "label", + "label": "Afficher le texte", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "label_8_1" + }, + { + "type": "radio", + "options": { + "choices": [ + { + "label": "Oui", + "value": true, + "$$hashKey": "object:2056" + }, + { + "label": "Non", + "value": false, + "$$hashKey": "object:2057" + } + ] + }, + "name": "graph", + "label": "Afficher la partie graph", + "disabled": false, + "required": false, + "nb_cols": 6, + "id": "graphique_9_1" + } + ] + }, + { + "fields": [ + { + "type": "integer", + "name": "text_size", + "label": "Taille du texte", + "nb_cols": 6, + "id": "taille_text_3_1" + }, + { + "type": "integer", + "name": "geom_size", + "label": "Épaisseur/taille", + "nb_cols": 6, + "id": "taille_geom_4_1" + } + ] + }, + { + "fields": [ + { + "type": "color_picker", + "name": "background_color_rgba", + "label": "Couleur de fond", + "nb_cols": 4, + "id": "couleur_fond_6_1" + }, + { + "type": "color_picker", + "name": "contour_color_rgba", + "label": "Couleur de contour", + "nb_cols": 4, + "id": "couleur_contour_5_1" + }, + { + "type": "color_picker", + "name": "color_label_rgba", + "label": "couleur du texte", + "nb_cols": 4, + "id": "couleur_label_7_1" + } + ] + }, { + "fields": [ + { + "type": "hidden", + "name": "background_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "contour_color", + "nb_cols": 12 + },{ + "type": "hidden", + "name": "color_label", + "nb_cols": 12 + } + ] + } + ] +}, +"datasources": {} +} diff --git a/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/custom.js b/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/custom.js new file mode 100755 index 0000000000000000000000000000000000000000..de066e6fbd1e478806f3a70d18c66444d6624d81 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/custom.js @@ -0,0 +1,109 @@ +/* global angular, goog */ +// CUSTOM +//bloque les delete du destructeur à éviter +//'use strict'; + +/*********************************************************************************** + vmap_dessin Javascript + ***********************************************************************************/ + +var oFormRequired = { + "sUrl": "", + "scope_": {}, + "toDestructor": [] +}; +/** + * constructor_form + * Fonction appelé à l'initialisation du formulaire si dans la structure json javascript vaut "true" + * @param {type} scope + * @param {type} s_url + * @returns {undefined} + */ +var constructor_form = function (scope, s_url) { + ////////////////////////////////////////////////////////// + //Ne pas toucher + console.log("constructor_form"); + + oFormRequired.sUrl = s_url; + oFormRequired.scope_ = scope; + + var parseColorFromRGBA = function (rgba) { + if (isRGBA(rgba)) { + var matchColors = /rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(\d{1,3})\)/; + var match = matchColors.exec(rgba); + var color = match[1] + ' ' + match[2] + ' ' + match[3]; + } else { + color = rgba; + } + return color; + }; + + var parseColorToRGBA = function (color) { + if (isRGBA(color)) + var rgba = color; + else + var rgba = 'rgba(' + color.replace(/ /g, ',') + ',1)'; + return rgba; + }; + + var isRGBA = function (color) { + if (color.substring(0, 4) === 'rgba') + return true; + else + return false; + }; + + var beforeEvent = function (sMode) { + console.log('beforeEvent !!!') + scope['oFormValues'][sMode]['background_color'] = parseColorFromRGBA(scope['oFormValues'][sMode]['background_color_rgba']); + scope['oFormValues'][sMode]['contour_color'] = parseColorFromRGBA(scope['oFormValues'][sMode]['contour_color_rgba']); + scope['oFormValues'][sMode]['color_label'] = parseColorFromRGBA(scope['oFormValues'][sMode]['color_label_rgba']); + }; + + if (angular.isDefined(scope['oFormValues']['update'])) { + scope['oFormValues']['update']['background_color_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['background_color']); + scope['oFormValues']['update']['contour_color_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['contour_color']); + scope['oFormValues']['update']['color_label_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['color_label']); + } + + // Ajoute BeforeEvent + scope['oFormDefinition']['update']['beforeEvent'] = function () { + beforeEvent('update'); + }; + scope['oFormDefinition']['insert']['beforeEvent'] = function () { + beforeEvent('insert'); + }; + + ////////////////////////////////////////////////////////// + // Ajouter vos Elément à détruire (variable, function, watcher) à oFormRequired.toDestructor +}; + + + +/** + * destructor_form + * Fonction appelé quand on quitte le formulaire nettoie toute les fonctions pour les rendres inutilisable en dehors du formulaire + * @returns {undefined} + */ +var destructor_form = function () { + + for (var i = 0; i < oFormRequired.toDestructor.length; i++) { + oFormRequired.toDestructor[i] = undefined; + delete oFormRequired.toDestructor[i]; + } + + //supprimer la balise script du js pour pouvoir le recharger si on reviens sur le formulaire plus tard + angular.element('[src="' + oFormRequired.sUrl + '?version=' + oFormRequired.scope_["oProperties"]["build"] + '"]').remove(); + + oFormRequired = undefined; + delete oFormRequired; + + constructor_form = undefined; + delete constructor_form; + destructor_form = undefined; + delete destructor_form; +}; + +/**********************************************************************************/ + + diff --git a/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/default.js b/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/default.js new file mode 100755 index 0000000000000000000000000000000000000000..de066e6fbd1e478806f3a70d18c66444d6624d81 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/default.js @@ -0,0 +1,109 @@ +/* global angular, goog */ +// CUSTOM +//bloque les delete du destructeur à éviter +//'use strict'; + +/*********************************************************************************** + vmap_dessin Javascript + ***********************************************************************************/ + +var oFormRequired = { + "sUrl": "", + "scope_": {}, + "toDestructor": [] +}; +/** + * constructor_form + * Fonction appelé à l'initialisation du formulaire si dans la structure json javascript vaut "true" + * @param {type} scope + * @param {type} s_url + * @returns {undefined} + */ +var constructor_form = function (scope, s_url) { + ////////////////////////////////////////////////////////// + //Ne pas toucher + console.log("constructor_form"); + + oFormRequired.sUrl = s_url; + oFormRequired.scope_ = scope; + + var parseColorFromRGBA = function (rgba) { + if (isRGBA(rgba)) { + var matchColors = /rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(\d{1,3})\)/; + var match = matchColors.exec(rgba); + var color = match[1] + ' ' + match[2] + ' ' + match[3]; + } else { + color = rgba; + } + return color; + }; + + var parseColorToRGBA = function (color) { + if (isRGBA(color)) + var rgba = color; + else + var rgba = 'rgba(' + color.replace(/ /g, ',') + ',1)'; + return rgba; + }; + + var isRGBA = function (color) { + if (color.substring(0, 4) === 'rgba') + return true; + else + return false; + }; + + var beforeEvent = function (sMode) { + console.log('beforeEvent !!!') + scope['oFormValues'][sMode]['background_color'] = parseColorFromRGBA(scope['oFormValues'][sMode]['background_color_rgba']); + scope['oFormValues'][sMode]['contour_color'] = parseColorFromRGBA(scope['oFormValues'][sMode]['contour_color_rgba']); + scope['oFormValues'][sMode]['color_label'] = parseColorFromRGBA(scope['oFormValues'][sMode]['color_label_rgba']); + }; + + if (angular.isDefined(scope['oFormValues']['update'])) { + scope['oFormValues']['update']['background_color_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['background_color']); + scope['oFormValues']['update']['contour_color_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['contour_color']); + scope['oFormValues']['update']['color_label_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['color_label']); + } + + // Ajoute BeforeEvent + scope['oFormDefinition']['update']['beforeEvent'] = function () { + beforeEvent('update'); + }; + scope['oFormDefinition']['insert']['beforeEvent'] = function () { + beforeEvent('insert'); + }; + + ////////////////////////////////////////////////////////// + // Ajouter vos Elément à détruire (variable, function, watcher) à oFormRequired.toDestructor +}; + + + +/** + * destructor_form + * Fonction appelé quand on quitte le formulaire nettoie toute les fonctions pour les rendres inutilisable en dehors du formulaire + * @returns {undefined} + */ +var destructor_form = function () { + + for (var i = 0; i < oFormRequired.toDestructor.length; i++) { + oFormRequired.toDestructor[i] = undefined; + delete oFormRequired.toDestructor[i]; + } + + //supprimer la balise script du js pour pouvoir le recharger si on reviens sur le formulaire plus tard + angular.element('[src="' + oFormRequired.sUrl + '?version=' + oFormRequired.scope_["oProperties"]["build"] + '"]').remove(); + + oFormRequired = undefined; + delete oFormRequired; + + constructor_form = undefined; + delete constructor_form; + destructor_form = undefined; + delete destructor_form; +}; + +/**********************************************************************************/ + + diff --git a/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/published.js b/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/published.js new file mode 100755 index 0000000000000000000000000000000000000000..de066e6fbd1e478806f3a70d18c66444d6624d81 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/forms/ressources/published.js @@ -0,0 +1,109 @@ +/* global angular, goog */ +// CUSTOM +//bloque les delete du destructeur à éviter +//'use strict'; + +/*********************************************************************************** + vmap_dessin Javascript + ***********************************************************************************/ + +var oFormRequired = { + "sUrl": "", + "scope_": {}, + "toDestructor": [] +}; +/** + * constructor_form + * Fonction appelé à l'initialisation du formulaire si dans la structure json javascript vaut "true" + * @param {type} scope + * @param {type} s_url + * @returns {undefined} + */ +var constructor_form = function (scope, s_url) { + ////////////////////////////////////////////////////////// + //Ne pas toucher + console.log("constructor_form"); + + oFormRequired.sUrl = s_url; + oFormRequired.scope_ = scope; + + var parseColorFromRGBA = function (rgba) { + if (isRGBA(rgba)) { + var matchColors = /rgba\((\d{1,3}),(\d{1,3}),(\d{1,3}),(\d{1,3})\)/; + var match = matchColors.exec(rgba); + var color = match[1] + ' ' + match[2] + ' ' + match[3]; + } else { + color = rgba; + } + return color; + }; + + var parseColorToRGBA = function (color) { + if (isRGBA(color)) + var rgba = color; + else + var rgba = 'rgba(' + color.replace(/ /g, ',') + ',1)'; + return rgba; + }; + + var isRGBA = function (color) { + if (color.substring(0, 4) === 'rgba') + return true; + else + return false; + }; + + var beforeEvent = function (sMode) { + console.log('beforeEvent !!!') + scope['oFormValues'][sMode]['background_color'] = parseColorFromRGBA(scope['oFormValues'][sMode]['background_color_rgba']); + scope['oFormValues'][sMode]['contour_color'] = parseColorFromRGBA(scope['oFormValues'][sMode]['contour_color_rgba']); + scope['oFormValues'][sMode]['color_label'] = parseColorFromRGBA(scope['oFormValues'][sMode]['color_label_rgba']); + }; + + if (angular.isDefined(scope['oFormValues']['update'])) { + scope['oFormValues']['update']['background_color_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['background_color']); + scope['oFormValues']['update']['contour_color_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['contour_color']); + scope['oFormValues']['update']['color_label_rgba'] = parseColorToRGBA(scope['oFormValues']['update']['color_label']); + } + + // Ajoute BeforeEvent + scope['oFormDefinition']['update']['beforeEvent'] = function () { + beforeEvent('update'); + }; + scope['oFormDefinition']['insert']['beforeEvent'] = function () { + beforeEvent('insert'); + }; + + ////////////////////////////////////////////////////////// + // Ajouter vos Elément à détruire (variable, function, watcher) à oFormRequired.toDestructor +}; + + + +/** + * destructor_form + * Fonction appelé quand on quitte le formulaire nettoie toute les fonctions pour les rendres inutilisable en dehors du formulaire + * @returns {undefined} + */ +var destructor_form = function () { + + for (var i = 0; i < oFormRequired.toDestructor.length; i++) { + oFormRequired.toDestructor[i] = undefined; + delete oFormRequired.toDestructor[i]; + } + + //supprimer la balise script du js pour pouvoir le recharger si on reviens sur le formulaire plus tard + angular.element('[src="' + oFormRequired.sUrl + '?version=' + oFormRequired.scope_["oProperties"]["build"] + '"]').remove(); + + oFormRequired = undefined; + delete oFormRequired; + + constructor_form = undefined; + delete constructor_form; + destructor_form = undefined; + delete destructor_form; +}; + +/**********************************************************************************/ + + diff --git a/src/module_vmap/storage/veremes_demo_dessin/json/business_object.json b/src/module_vmap/storage/veremes_demo_dessin/json/business_object.json new file mode 100755 index 0000000000000000000000000000000000000000..6e193dafff5fdf77677c0e477528edd0f98d7b6d --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/json/business_object.json @@ -0,0 +1,20 @@ +{ + "business_object_id":"vmap_dessin", + "title":"Dessin", + "id_field":"draw_id", + "database":"vmap_angular", + "schema":"[TABLE_SCHEMA]", + "table":"v_draw", + "sql_summary":"select draw_id, description, text_label from [TABLE_SCHEMA].v_draw", + "sql_list":"select draw_id as \"Id\", text_label as \"Nom\" , area, perimeter from [TABLE_SCHEMA].v_draw", + "sorted_by":"draw_id", + "geom_column":"geom", + "search_field":"draw_id", + "result_field":"draw_id", + "search_use_strict":"left", + "event_id":null, + "index":0, + "add_form_size":1, + "edit_form_size":1, + "display_form_size":1 +} diff --git a/src/module_vmap/storage/veremes_demo_dessin/json/event.json b/src/module_vmap/storage/veremes_demo_dessin/json/event.json new file mode 100755 index 0000000000000000000000000000000000000000..b1cc925ba0806aea91147e0d6f24138d16dc8fed --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/json/event.json @@ -0,0 +1,4 @@ +{ + "event_id":"veremes_demo_dessin_event", + "description":"Événement appelé lorsque veremes_demo_dessin change" +} diff --git a/src/module_vmap/storage/veremes_demo_dessin/json/mapserver_layers.json b/src/module_vmap/storage/veremes_demo_dessin/json/mapserver_layers.json new file mode 100755 index 0000000000000000000000000000000000000000..5155634a2c2295191865d567b50548d370d1af44 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/json/mapserver_layers.json @@ -0,0 +1,65 @@ +[{ + "ms_layer_id":30, + "name":"Dessin_Point", + "title":"Dessin Point", + "coordsys_id":2154, + "coordsys_label":"[EPSG:2154]-RGF93\/Lambert-93", + "source_id":null, + "connection_id":2, + "tableschema":"[TABLE_SCHEMA]", + "tablename":"v_draw_point", + "tableidfield":"draw_id", + "definition":"LAYER\r\n\tNAME \"{LAYER_NAME}\"\r\n\tTYPE {LAYER_TYPE}\r\n\tSTATUS ON\r\n\t{CONNECTION}\r\n\tDATA \"geom from {TABLE_SCHEMA}.{TABLE_NAME} USING SRID={SRID} USING UNIQUE {TABLE_ID}\"\r\n\tOPACITY {LAYER_OPACITY}\r\n\t{COORDSYS}\r\n\r\n\tMETADATA\r\n\t\t\"wms_title\" \t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_srs\" \t\t\t\t\"EPSG:2154 EPSG:3857\"\r\n\t\t\"wms_name\" \t\t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_server_version\" \t\"1.3.0\"\r\n\t\t\"wms_format\" \t\t\t\"image\/png\"\r\n\tEND\r\n\r\n\tLABELITEM \"text_label\"\r\n\tCLASS\r\n\t\tNAME \"Dessin ponctuel\"\r\n\t\tEXPRESSION ('[graph]' eq \"t\" AND '[label]' eq \"t\")\r\n\t\tSTYLE\r\n\t\t\tSYMBOL \"circle\"\r\n\t\t\tOUTLINECOLOR [contour_color]\r\n\t\t\tCOLOR [background_color]\r\n\t\t\tSIZE [geom_size]\r\n\t\tEND\r\n\t\tLABEL\r\n\t\t\tTYPE TRUETYPE\r\n\t\t\tFONT \"Arial\"\r\n\t\t\tANGLE AUTO\r\n\t\t\tSIZE [text_size]\r\n\t\t\tPOSITION UC\r\n\t\t\tCOLOR [color_label]\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"Dessin ponctuel\"\r\n\t\tEXPRESSION ('[graph]' eq \"t\" AND '[label]' eq \"f\")\r\n\t\tSTYLE\r\n\t\t\tSYMBOL \"circle\"\r\n\t\t\tOUTLINECOLOR [contour_color]\r\n\t\t\tCOLOR [background_color]\r\n\t\t\tSIZE [geom_size]\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"Dessin ponctuel\"\r\n\t\tEXPRESSION ('[graph]' eq \"f\" AND '[label]' eq \"t\")\r\n\t\tSTYLE\r\n\t\tEND\r\n\t\tLABEL\r\n\t\t\tTYPE TRUETYPE\r\n\t\t\tFONT \"Arial\"\r\n\t\t\tANGLE AUTO\r\n\t\t\tSIZE [text_size]\r\n\t\t\tPOSITION UC\r\n\t\t\tCOLOR [color_label]\r\n\t\tEND\r\n\tEND\r\nEND\r\n\r\n", + "active":true, + "opacity":100, + "ms_layertype_id":"POINT", + "private_connection":true, + "connection_label":"Connexion privée", + "source_label":null, + "definitiontmp":null, + "database":null, + "wmsservices":"", + "wmsservices_label":"" +}, { + "ms_layer_id":31, + "name":"Dessin_Ligne", + "title":"Dessin Ligne", + "coordsys_id":2154, + "coordsys_label":"[EPSG:2154]-RGF93\/Lambert-93", + "source_id":null, + "connection_id":2, + "tableschema":"[TABLE_SCHEMA]", + "tablename":"v_draw_line", + "tableidfield":"draw_id", + "definition":"LAYER\r\n\tNAME \"{LAYER_NAME}\"\r\n\tTYPE {LAYER_TYPE}\r\n\tSTATUS ON\r\n\t{CONNECTION}\r\n\tDATA \"geom from {TABLE_SCHEMA}.{TABLE_NAME} USING SRID={SRID} USING UNIQUE {TABLE_ID}\"\r\n\tOPACITY {LAYER_OPACITY}\r\n\t{COORDSYS}\r\n\r\n\tMETADATA\r\n\t\t\"wms_title\" \t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_srs\" \t\t\t\t\"EPSG:2154 EPSG:3857\"\r\n\t\t\"wms_name\" \t\t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_server_version\" \t\"1.3.0\"\r\n\t\t\"wms_format\" \t\t\t\"image\/png\"\r\n\tEND\r\n\r\n\tLABELITEM \"text_label\"\r\n\tCLASS\r\n\t\tNAME \"Dessin lin\u00e9aire\"\r\n\t\tEXPRESSION ('[graph]' eq \"t\" AND '[label]' eq \"t\")\r\n\t\tSTYLE\r\n\t\t\tOUTLINECOLOR [contour_color]\r\n\t\t\tCOLOR [background_color]\r\n\t\t\tWIDTH [geom_size]\r\n\t\tEND\r\n\t\tLABEL\r\n\t\t\tTYPE TRUETYPE\r\n\t\t\tFONT \"Arial\"\r\n\t\t\tANGLE AUTO\r\n\t\t\tSIZE [text_size]\r\n\t\t\tPOSITION UC\r\n\t\t\tCOLOR [color_label]\r\n\t\t\tWRAP \"|\"\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"Dessin lin\u00e9aire\"\r\n\t\tEXPRESSION ('[graph]' eq \"t\" AND '[label]' eq \"f\")\r\n\t\tSTYLE\r\n\t\t\tOUTLINECOLOR [contour_color]\r\n\t\t\tCOLOR [background_color]\r\n\t\t\tWIDTH [geom_size]\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"Dessin lin\u00e9aire\"\r\n\t\tEXPRESSION ('[graph]' eq \"f\" AND '[label]' eq \"t\")\r\n\t\tSTYLE\r\n\t\tEND\r\n\t\tLABEL\r\n\t\t\tTYPE TRUETYPE\r\n\t\t\tFONT \"Arial\"\r\n\t\t\tANGLE AUTO\r\n\t\t\tSIZE [text_size]\r\n\t\t\tPOSITION UC\r\n\t\t\tCOLOR [color_label]\r\n\t\t\tWRAP \"|\"\r\n\t\tEND\r\n\tEND\r\nEND", + "active":true, + "opacity":100, + "ms_layertype_id":"LINE", + "private_connection":true, + "connection_label":"Connexion privée", + "source_label":null, + "database":null, + "wmsservices":"", + "wmsservices_label":"" +}, { + "ms_layer_id":32, + "name":"Dessin_Polygone", + "title":"Dessin Polygone", + "coordsys_id":2154, + "coordsys_label":"[EPSG:2154]-RGF93\/Lambert-93", + "source_id":null, + "connection_id":2, + "tableschema":"[TABLE_SCHEMA]", + "tablename":"v_draw_poly", + "tableidfield":"draw_id", + "definition":"LAYER\r\n\tNAME \"{LAYER_NAME}\"\r\n\tTYPE {LAYER_TYPE}\r\n\tSTATUS ON\r\n\t{CONNECTION}\r\n\tDATA \"geom from {TABLE_SCHEMA}.{TABLE_NAME} USING SRID={SRID} USING UNIQUE {TABLE_ID}\"\r\n\tOPACITY {LAYER_OPACITY}\r\n\t{COORDSYS}\r\n\t\r\n\tMETADATA\r\n\t\t\"wms_title\" \t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_srs\" \t\t\t\t\"EPSG:2154 EPSG:3857\"\r\n\t\t\"wms_name\" \t\t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_server_version\" \t\"1.1.0\"\r\n\t\t\"wms_format\" \t\t\t\"image\/png\"\r\n\tEND\r\n\r\n\tLABELITEM \"text_label\"\r\n\r\n\tCLASS\r\n\t\tNAME \"Dessin surfacique\"\r\n\t\tEXPRESSION ('[graph]' eq \"t\" AND '[label]' eq \"t\")\r\n\t\tSTYLE\r\n\t\t\tOUTLINECOLOR [contour_color]\r\n\t\t\tWIDTH [geom_size]\r\n\t\t\tCOLOR [background_color]\r\n\t\tEND\r\n\t\tLABEL\r\n\t\t\tTYPE TRUETYPE\r\n\t\t\tFONT \"Arial\"\r\n\t\t\tANGLE AUTO\r\n\t\t\tSIZE [text_size]\r\n\t\t\tPOSITION CC\r\n\t\t\tCOLOR [color_label]\r\n\t\t\tWRAP \"|\"\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"Dessin surfacique\"\r\n\t\tEXPRESSION ('[graph]' eq \"t\" AND '[label]' eq \"f\")\r\n\t\tSTYLE\r\n\t\t\tOUTLINECOLOR [contour_color]\r\n\t\t\tWIDTH [geom_size]\r\n\t\t\tCOLOR [background_color]\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"Dessin surfacique\"\r\n\t\tEXPRESSION ('[graph]' eq \"f\" AND '[label]' eq \"t\")\r\n\t\tSTYLE\r\n\t\tEND\r\n\t\tLABEL\r\n\t\t\tTYPE TRUETYPE\r\n\t\t\tFONT \"Arial\"\r\n\t\t\tANGLE AUTO\r\n\t\t\tSIZE [text_size]\r\n\t\t\tPOSITION CC\r\n\t\t\tCOLOR [color_label]\r\n\t\t\tWRAP \"|\"\r\n\t\tEND\r\n\tEND\r\nEND", + "active":true, + "opacity":100, + "ms_layertype_id":"POLYGON", + "private_connection":true, + "connection_label":"Connexion privée", + "source_label":null, + "database":null, + "wmsservices":"", + "wmsservices_label":"" +}] \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_demo_dessin/package.json b/src/module_vmap/storage/veremes_demo_dessin/package.json new file mode 100755 index 0000000000000000000000000000000000000000..9bf4d6f5d5352f715d621d0dc0e242a4cea01bec --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/package.json @@ -0,0 +1,5 @@ +{ + "author": "Armand", + "mame": "veremes_demo_dessin", + "description": "Objet métier permettant la visualisation des dessins" +} diff --git a/src/module_vmap/storage/veremes_demo_dessin/sql/structure.json b/src/module_vmap/storage/veremes_demo_dessin/sql/structure.json new file mode 100755 index 0000000000000000000000000000000000000000..f475b4532a7340d10f1fe9f7f55dd927be466c29 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/sql/structure.json @@ -0,0 +1,6 @@ +{ + "schema": "s_draw", + "srid": "2154", + "tables": ["draw, v_draw, v_draw_line, v_draw_poly, v_draw_point"], + "sequences": ["seq_draw"] +} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_demo_dessin/sql/table.sql b/src/module_vmap/storage/veremes_demo_dessin/sql/table.sql new file mode 100755 index 0000000000000000000000000000000000000000..1b037df8a4c2628c91e09dddd04cb350d8664a56 --- /dev/null +++ b/src/module_vmap/storage/veremes_demo_dessin/sql/table.sql @@ -0,0 +1,282 @@ +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 9.3.14 +-- Dumped by pg_dump version 9.5.6 + +-- Started on 2017-06-07 09:12:15 CEST + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SET check_function_bodies = false; +SET client_min_messages = warning; +-- SET row_security = off; + +SET search_path = [TABLE_SCHEMA], pg_catalog; + +-- +-- TOC entry 452 (class 1259 OID 67429) +-- Name: seq_draw; Type: SEQUENCE; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE SEQUENCE seq_draw + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +SET default_tablespace = ''; + +SET default_with_oids = true; + +-- +-- TOC entry 453 (class 1259 OID 67620) +-- Name: draw; Type: TABLE; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE TABLE draw ( + draw_id integer DEFAULT nextval('seq_draw'::regclass) NOT NULL, + theme character varying(50), + comments text, + description character varying(255), + text_size integer, + geom_size integer, + user_id integer, + label boolean DEFAULT true, + graph boolean DEFAULT true, + contour_color character varying(50), + background_color character varying(50), + color_label character varying(50), + area character varying(30), + area_label boolean, + perimeter character varying(30), + perimeter_label boolean, + text_label character varying(255), + geom public.geometry(Geometry,[SRID]), + CONSTRAINT enforce_dims_geom CHECK ((public.st_ndims(geom) = 2)), + CONSTRAINT enforce_srid_geom CHECK ((public.st_srid(geom) = [SRID])) +); + + +-- +-- TOC entry 490 (class 1259 OID 68425) +-- Name: v_draw; Type: VIEW; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE VIEW v_draw AS + SELECT draw.draw_id, + draw.theme, + draw.comments, + draw.description, + draw.text_size, + draw.geom_size, + draw.contour_color, + draw.background_color, + draw.color_label, + draw.user_id, + draw.label, + draw.graph, + draw.area, + draw.area_label, + draw.perimeter, + draw.perimeter_label, + draw.text_label, + "substring"(public.st_astext(draw.geom), 1, ("position"(public.st_astext(draw.geom), '('::text) - 1)) AS geom_type, + draw.geom, + "user".login + FROM (draw + JOIN s_vitis."user" ON ((draw.user_id = "user".user_id))) + WHERE (("user".login)::name = "current_user"()) + ORDER BY draw.draw_id DESC; + + +-- +-- TOC entry 454 (class 1259 OID 67686) +-- Name: v_draw_line; Type: VIEW; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE VIEW v_draw_line AS + SELECT draw.draw_id, + draw.theme, + draw.comments, + draw.description, + draw.text_size, + draw.geom_size, + draw.contour_color, + draw.background_color, + draw.color_label, + draw.user_id, + draw.label, + draw.graph, + draw.area, + draw.area_label, + draw.perimeter, + draw.perimeter_label, + draw.text_label, + "substring"(public.st_astext(draw.geom), 1, ("position"(public.st_astext(draw.geom), '('::text) - 1)) AS geom_type, + draw.geom, + "user".login + FROM (draw + JOIN s_vitis."user" ON ((draw.user_id = "user".user_id))) + WHERE ((public.st_geometrytype(draw.geom) ~~ '%Line%'::text) AND (("user".login)::name = "current_user"())); + + +-- +-- TOC entry 455 (class 1259 OID 67691) +-- Name: v_draw_point; Type: VIEW; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE VIEW v_draw_point AS + SELECT draw.draw_id, + draw.theme, + draw.comments, + draw.description, + draw.text_size, + draw.geom_size, + draw.contour_color, + draw.background_color, + draw.color_label, + draw.user_id, + draw.label, + draw.graph, + draw.area, + draw.area_label, + draw.perimeter, + draw.perimeter_label, + draw.text_label, + "substring"(public.st_astext(draw.geom), 1, ("position"(public.st_astext(draw.geom), '('::text) - 1)) AS geom_type, + draw.geom, + "user".login + FROM (draw + JOIN s_vitis."user" ON ((draw.user_id = "user".user_id))) + WHERE ((public.st_geometrytype(draw.geom) ~~ '%Point%'::text) AND (("user".login)::name = "current_user"())); + + +-- +-- TOC entry 456 (class 1259 OID 67696) +-- Name: v_draw_poly; Type: VIEW; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE VIEW v_draw_poly AS + SELECT draw.draw_id, + draw.theme, + draw.comments, + draw.description, + draw.text_size, + draw.geom_size, + draw.contour_color, + draw.background_color, + draw.color_label, + draw.user_id, + draw.label, + draw.graph, + draw.area, + draw.area_label, + draw.perimeter, + draw.perimeter_label, + draw.text_label, + "substring"(public.st_astext(draw.geom), 1, ("position"(public.st_astext(draw.geom), '('::text) - 1)) AS geom_type, + draw.geom, + "user".login + FROM (draw + JOIN s_vitis."user" ON ((draw.user_id = "user".user_id))) + WHERE ((public.st_geometrytype(draw.geom) ~~ '%Polygon%'::text) AND (("user".login)::name = "current_user"())); + + +-- +-- TOC entry 3985 (class 2606 OID 67632) +-- Name: pk_draw; Type: CONSTRAINT; Schema: [TABLE_SCHEMA]; Owner: - +-- + +ALTER TABLE ONLY draw + ADD CONSTRAINT pk_draw PRIMARY KEY (draw_id); + + +-- +-- TOC entry 3983 (class 1259 OID 67677) +-- Name: dessin_geom; Type: INDEX; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE INDEX dessin_geom ON draw USING gist (geom); + + +-- +-- TOC entry 4211 (class 2618 OID 68430) +-- Name: delete_v_draw; Type: RULE; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE RULE delete_v_draw AS + ON DELETE TO v_draw DO INSTEAD DELETE FROM draw + WHERE (draw.draw_id = old.draw_id); + + +-- +-- TOC entry 4212 (class 2618 OID 68431) +-- Name: insert_v_draw; Type: RULE; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE RULE insert_v_draw AS + ON INSERT TO v_draw DO INSTEAD INSERT INTO draw (theme, comments, description, text_size, user_id, label, contour_color, background_color, color_label, geom, graph, geom_size, area, area_label, perimeter, perimeter_label, text_label) + VALUES (new.theme, new.comments, new.description, new.text_size, ( SELECT "user".user_id + FROM s_vitis."user" + WHERE (("user".login)::name = "current_user"())), new.label, new.contour_color, new.background_color, new.color_label, new.geom, new.graph, new.geom_size, new.area, new.area_label, new.perimeter, new.perimeter_label, new.text_label) + RETURNING draw.draw_id, + draw.theme, + draw.comments, + draw.description, + draw.text_size, + draw.geom_size, + draw.contour_color, + draw.background_color, + draw.color_label, + draw.user_id, + draw.label, + draw.graph, + draw.area, + draw.area_label, + draw.perimeter, + draw.perimeter_label, + draw.text_label, + "substring"(public.st_astext(draw.geom), 1, ("position"(public.st_astext(draw.geom), '('::text) - 1)) AS geom_type, + draw.geom, + ''::character varying AS "varchar"; + + +-- +-- TOC entry 4213 (class 2618 OID 68433) +-- Name: update_v_draw; Type: RULE; Schema: [TABLE_SCHEMA]; Owner: - +-- + +CREATE RULE update_v_draw AS + ON UPDATE TO v_draw DO INSTEAD UPDATE draw SET draw_id = new.draw_id, theme = new.theme, comments = new.comments, description = new.description, text_size = new.text_size, user_id = new.user_id, label = new.label, contour_color = new.contour_color, background_color = new.background_color, color_label = new.color_label, geom = new.geom, graph = new.graph, geom_size = new.geom_size, area = new.area, area_label = new.area_label, perimeter = new.perimeter, perimeter_label = new.perimeter_label, text_label = new.text_label + WHERE (draw.draw_id = new.draw_id); + + +-- +-- TOC entry 3986 (class 2606 OID 67633) +-- Name: fk_user_login; Type: FK CONSTRAINT; Schema: [TABLE_SCHEMA]; Owner: - +-- + +ALTER TABLE ONLY draw + ADD CONSTRAINT fk_user_login FOREIGN KEY (user_id) REFERENCES s_vitis."user"(user_id) ON DELETE CASCADE; + + +GRANT USAGE ON SCHEMA [TABLE_SCHEMA] TO vmap_user; +GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE [TABLE_SCHEMA].v_draw TO vmap_user; +GRANT SELECT ON TABLE [TABLE_SCHEMA].v_draw_point TO vmap_user; +GRANT SELECT ON TABLE [TABLE_SCHEMA].v_draw_line TO vmap_user; +GRANT SELECT ON TABLE [TABLE_SCHEMA].v_draw_poly TO vmap_user; +GRANT SELECT, UPDATE ON SEQUENCE [TABLE_SCHEMA].seq_draw TO vmap_user; + + +-- Completed on 2017-06-07 09:12:21 CEST + +-- +-- PostgreSQL database dump complete +-- + diff --git a/src/module_vmap/storage/veremes_oads_dossier/forms/custom.json b/src/module_vmap/storage/veremes_oads_dossier/forms/custom.json new file mode 100755 index 0000000000000000000000000000000000000000..ae1448e7e7194b560893a1745c9c07af253b30a8 --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/forms/custom.json @@ -0,0 +1,175 @@ +{ + "display": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "dossier_num_2_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "author", + "label": "author", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "author_3_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "create_date", + "label": "create_date", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "create_date_4_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "modifier", + "label": "modifier", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "modifier_5_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "update_date", + "label": "update_date", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "update_date_6_1" + } + ] + } + ], + "tabs": { + "position": "top", + "list": [ + { + "label": "Tab 0", + "elements": [ + "dossier_num", + "author", + "create_date", + "modifier", + "update_date" + ] + } + ] + } + }, + "search": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [], + "tabs": { + "position": "top", + "list": [ + { + "label": "Tab 0", + "elements": [] + } + ] + } + }, + "insert": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "text", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "dossier_num_2_1" + } + ] + } + ], + "tabs": { + "position": "top", + "list": [ + { + "label": "Tab 0", + "elements": [ + "dossier_num" + ] + } + ] + } + }, + "update": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "text", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "dossier_num_2_1" + } + ] + } + ], + "tabs": { + "position": "top", + "list": [ + { + "label": "Tab 0", + "elements": [ + "dossier_num" + ] + } + ] + } + }, + "datasources": {} +} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_dossier/forms/default.json b/src/module_vmap/storage/veremes_oads_dossier/forms/default.json new file mode 100755 index 0000000000000000000000000000000000000000..6c38ec4625b9209da63c12cde01665c990a9dabf --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/forms/default.json @@ -0,0 +1,259 @@ +{ + "display": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "dossier_id", + "label": "dossier_id", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "author", + "label": "author", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "create_date", + "label": "create_date", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "modifier", + "label": "modifier", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "update_date", + "label": "update_date", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + } + ] + }, + "search": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [] + }, + "insert": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "integer", + "name": "dossier_id", + "label": "dossier_id", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "author", + "label": "author", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "create_date", + "label": "create_date", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "modifier", + "label": "modifier", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "update_date", + "label": "update_date", + "disabled": false, + "required": false, + "nb_cols": 12 + } + ] + } + ] + }, + "update": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "integer", + "name": "dossier_id", + "label": "dossier_id", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "dossier_id_1_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "dossier_num_2_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "author", + "label": "author", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "author_3_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "create_date", + "label": "create_date", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "create_date_4_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "modifier", + "label": "modifier", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "modifier_5_1" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "update_date", + "label": "update_date", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "update_date_6_1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_dossier/forms/published.json b/src/module_vmap/storage/veremes_oads_dossier/forms/published.json new file mode 100755 index 0000000000000000000000000000000000000000..7dd25b34d74901abb86a2b664e61b8e1473a4f14 --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/forms/published.json @@ -0,0 +1,175 @@ +{ + "display": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "label", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "dossier_num_2_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "author", + "label": "author", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "author_3_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "create_date", + "label": "create_date", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "create_date_4_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "modifier", + "label": "modifier", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "modifier_5_1" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "update_date", + "label": "update_date", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "update_date_6_1" + } + ] + } + ], + "tabs": { + "position": "top", + "list": [ + { + "label": "Tab 0", + "elements": [ + "dossier_num", + "author", + "create_date", + "modifier", + "update_date" + ] + } + ] + } + }, + "search": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [], + "tabs": { + "position": "top", + "list": [ + { + "label": "Tab 0", + "elements": [] + } + ] + } + }, + "insert": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "text", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "dossier_num_2_1" + } + ] + } + ], + "tabs": { + "position": "top", + "list": [ + { + "label": "Tab 0", + "elements": [ + "dossier_num" + ] + } + ] + } + }, + "update": { + "name": "custom-form", + "title": "veremes_soads_dossier", + "input_size": "xxs", + "nb_cols": 12, + "javascript": false, + "rows": [ + { + "fields": [ + { + "type": "text", + "name": "dossier_num", + "label": "dossier_num", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "dossier_num_2_1" + } + ] + } + ], + "tabs": { + "position": "top", + "list": [ + { + "label": "Tab 0", + "elements": [ + "dossier_num" + ] + } + ] + } + }, + "datasources": {} +} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_dossier/json/business_object.json b/src/module_vmap/storage/veremes_oads_dossier/json/business_object.json new file mode 100755 index 0000000000000000000000000000000000000000..77975551b01082b308ecb63c546e4f9c10e9dbca --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/json/business_object.json @@ -0,0 +1,20 @@ +{ + "business_object_id":"veremes_oads_dossier", + "title":"veremes_oads_dossier", + "id_field":"dossier_num", + "database":"vmap", + "schema":"[TABLE_SCHEMA]", + "table":"dossier", + "sql_summary":"SELECT commune as \"Commune\", code_insee as \"Code INSEE\", type_dossier as \"Type du dossier\", dossier_num as \"Numéro du dossier\", author as \"Créateur\", create_date as \"Date de création\", modifier as \"Mise à jour\", update_date as \"Date de màj\" FROM veremes_oads.v_dossier", + "sql_list":"SELECT dossier_num, code_insee, commune, division, annee_dossier, type_dossier, creation_automatique,author, create_date, modifier, update_date FROM [TABLE_SCHEMA].v_dossier", + "sorted_by":"dossier_num", + "geom_column":"geom", + "search_field":"dossier_num", + "result_field":"dossier_num", + "search_use_strict":"left", + "event_id":null, + "index":2, + "add_form_size":1, + "edit_form_size":1, + "display_form_size":1 +} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_dossier/json/event.json b/src/module_vmap/storage/veremes_oads_dossier/json/event.json new file mode 100755 index 0000000000000000000000000000000000000000..9e26dfeeb6e641a33dae4961196235bdb965b21b --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/json/event.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_dossier/json/mapserver_layers.json b/src/module_vmap/storage/veremes_oads_dossier/json/mapserver_layers.json new file mode 100755 index 0000000000000000000000000000000000000000..aeae16f8a4579be2be0e52b787524fa99918b2a1 --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/json/mapserver_layers.json @@ -0,0 +1,45 @@ +[{ + "ms_layer_id":80, + "name":"Oads_dossier", + "title":"Oads_dossier", + "coordsys_id":2154, + "coordsys_label":"[EPSG:2154]-RGF93/Lambert-93", + "source_id":null, + "connection_id":6, + "tableschema":"veremes_oads", + "tablename":"v_dossier", + "tableidfield":"dossier_num", + "definition":"LAYER\r\n\tNAME \"{LAYER_NAME}\"\r\n\tTYPE {LAYER_TYPE}\r\n\tSTATUS DEFAULT\r\n\t{CONNECTION}\r\n\tDATA \"geom from {TABLE_SCHEMA}.{TABLE_NAME} USING SRID={SRID} USING UNIQUE {TABLE_ID}\"\r\n\tOPACITY {LAYER_OPACITY}\r\n\t{COORDSYS}\r\n\r\n\tMETADATA\r\n\t\t\"wms_title\" \t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_srs\" \t\t\t\t\"EPSG:2154 EPSG:3857\"\r\n\t\t\"wms_name\" \t\t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_server_version\" \t\"1.3.0\"\r\n\t\t\"wms_format\" \t\t\t\"image\/png\"\r\n\tEND\r\n\r\n\tCLASS\r\n\t\tNAME \"Dossier\"\r\n\t\tSTYLE\r\n\t\t\tCOLOR \"#FF9896\"\r\n\t\t\tOUTLINECOLOR \"#A553A5\"\r\n\t\t\tSIZE 1\r\n\t\tEND\r\n\tEND\r\nEND", + "active":true, + "opacity":70, + "ms_layertype_id":"POLYGON", + "private_connection":true, + "connection_label":"Connexion privée", + "source_label":null, + "definitiontmp":null, + "database":"vmap", + "wmsservices":"", + "wmsservices_label":"" +},{ + "ms_layer_id":90, + "name":"Oads_dossier_type", + "title":"Oads_dossier_type", + "coordsys_id":2154, + "coordsys_label":"[EPSG:2154]-RGF93/Lambert-93", + "source_id":null, + "connection_id":6, + "tableschema":"veremes_oads", + "tablename":"v_dossier", + "tableidfield":"dossier_num", + "definition":"LAYER\r\n\tNAME \"{LAYER_NAME}\"\r\n\tTYPE {LAYER_TYPE}\r\n\tSTATUS DEFAULT\r\n\t{CONNECTION}\r\n\tDATA \"geom from {TABLE_SCHEMA}.{TABLE_NAME} USING SRID={SRID} USING UNIQUE {TABLE_ID}\"\r\n\tOPACITY {LAYER_OPACITY}\r\n\tMAXSCALEDENOM 10000\r\n\t{COORDSYS}\r\n\tMETADATA\r\n\t\t\"wms_title\" \t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_srs\" \t\t\t\t\"EPSG:2154\"\r\n\t\t\"wms_name\" \t\t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_server_version\" \t\"1.3.0\"\r\n\t\t\"wms_format\" \t\t\t\"image/png\"\r\n\tEND\r\n\tFILTER ([type_dossier] = ''%type_dossier%'' or ''%type_dossier%'' = ''-1000000'')\r\n\tVALIDATION\r\n\t\t''type_dossier'' ''^[a-zA-Z0-9_|]*$''\r\n\t\t''default_type_dossier'' ''-1000000''\r\n\tEND\r\n\r\n\tCLASS\r\n\t\tNAME \"PC\"\r\n\t\tEXPRESSION (\"[type_dossier]\" = \"PC\")\r\n\t\tSTYLE\r\n\t\t\tGEOMTRANSFORM \"centroid\"\r\n\t\t\tSYMBOL 'circle'\r\n\t\t\tCOLOR \"#FFC240\"\r\n\t\t\tOUTLINECOLOR \"#FFFFFF\"\r\n\t\t\tSIZE 20\r\n\t\t\tWIDTH 1\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"AT\"\r\n\t\tEXPRESSION (\"[type_dossier]\" = \"AT\")\r\n\t\tSTYLE\r\n\t\t\tGEOMTRANSFORM \"centroid\"\r\n\t\t\tSYMBOL 'circle'\r\n\t\t\tCOLOR \"#4E7887\"\r\n\t\t\tOUTLINECOLOR \"#FFFFFF\"\r\n\t\t\tSIZE 20\r\n\t\t\tWIDTH 1\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"CU\"\r\n\t\tEXPRESSION (\"[type_dossier]\" = \"CU\")\r\n\t\tSTYLE\r\n\t\t\tGEOMTRANSFORM \"centroid\"\r\n\t\t\tSYMBOL 'circle'\r\n\t\t\tCOLOR \"#129E18\"\r\n\t\t\tOUTLINECOLOR \"#FFFFFF\"\r\n\t\t\tSIZE 20\r\n\t\t\tWIDTH 1\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"DIA\"\r\n\t\tEXPRESSION (\"[type_dossier]\" = \"DIA\")\r\n\t\tSTYLE\r\n\t\t\tGEOMTRANSFORM \"centroid\"\r\n\t\t\tSYMBOL 'circle'\r\n\t\t\tCOLOR \"#BDB300\"\r\n\t\t\tOUTLINECOLOR \"#FFFFFF\"\r\n\t\t\tSIZE 20\r\n\t\t\tWIDTH 1\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"DP\"\r\n\t\tEXPRESSION (\"[type_dossier]\" = \"DP\")\r\n\t\tSTYLE\r\n\t\t\tGEOMTRANSFORM \"centroid\"\r\n\t\t\tSYMBOL 'circle'\r\n\t\t\tCOLOR \"#2E9BE8\"\r\n\t\t\tOUTLINECOLOR \"#FFFFFF\"\r\n\t\t\tSIZE 20\r\n\t\t\tWIDTH 1\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"PA\"\r\n\t\tEXPRESSION (\"[type_dossier]\" = \"PA\")\r\n\t\tSTYLE\r\n\t\t\tGEOMTRANSFORM \"centroid\"\r\n\t\t\tSYMBOL 'circle'\r\n\t\t\tCOLOR \"#F200FF\"\r\n\t\t\tOUTLINECOLOR \"#FFFFFF\"\r\n\t\t\tSIZE 20\r\n\t\t\tWIDTH 1\r\n\t\tEND\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"PD\"\r\n\t\tEXPRESSION (\"[type_dossier]\" = \"PD\")\r\n\t\tSTYLE\r\n\t\t\tGEOMTRANSFORM \"centroid\"\r\n\t\t\tSYMBOL 'circle'\r\n\t\t\tCOLOR \"#FA2525\"\r\n\t\t\tOUTLINECOLOR \"#FFFFFF\"\r\n\t\t\tSIZE 20\r\n\t\t\tWIDTH 1\r\n\t\tEND\r\n\tEND\r\n\tEND", + "active":true, + "opacity":100, + "ms_layertype_id":"POLYGON", + "private_connection":true, + "connection_label":"Connexion privée", + "source_label":null, + "definitiontmp":null, + "database":"vmap", + "wmsservices":"", + "wmsservices_label":"" +}] \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_dossier/package.json b/src/module_vmap/storage/veremes_oads_dossier/package.json new file mode 100755 index 0000000000000000000000000000000000000000..e509782f3ec924bdc7d9501d8ad05c99e65b08b4 --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/package.json @@ -0,0 +1,5 @@ +{ + "author": "Laurent", + "mame": "veremes_oads_dossier", + "description": "Objet métier permettant la visualisation des dossiers OpenAds" +} diff --git a/src/module_vmap/storage/veremes_oads_dossier/sql/structure.json b/src/module_vmap/storage/veremes_oads_dossier/sql/structure.json new file mode 100755 index 0000000000000000000000000000000000000000..7dcd23b6b249f98b8af4beac1abedc13c7ad508d --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/sql/structure.json @@ -0,0 +1,6 @@ +{ + "schema": "veremes_oads", + "srid": "2154", + "tables": ["dossier, parcelle_dossier, parcelle_oads, v_dossier, v_parcelle_dossier"], + "sequences": [""] +} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_dossier/sql/table.sql b/src/module_vmap/storage/veremes_oads_dossier/sql/table.sql new file mode 100755 index 0000000000000000000000000000000000000000..463a9356cf78bfd56d30b7465e51786c7990f0b4 --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_dossier/sql/table.sql @@ -0,0 +1,194 @@ +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 9.3.14 +-- Dumped by pg_dump version 9.5.6 + +-- Started on 2017-06-07 09:12:15 CEST + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SET check_function_bodies = false; +SET client_min_messages = warning; +-- SET row_security = off; + +SET search_path = [TABLE_SCHEMA], public, pg_catalog; + +-- +-- TOC entry 452 (class 1259 OID 67429) +-- Name: seq_draw; Type: SEQUENCE; Schema: [TABLE_SCHEMA]; Owner: - +-- + + +SET default_tablespace = ''; + +SET default_with_oids = true; + +select s_vitis.create_role_if_not_exists('oads_user', 'NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION'); +INSERT INTO s_vitis.privileges(rolname, description) VALUES ('oads_user', 'rôle utilisateur du module Open Ads de vMap"'); + +CREATE TABLE [TABLE_SCHEMA].dossier +( + dossier_num character varying(30) NOT NULL, + author character varying(50), + create_date date, + modifier character varying(50), + update_date date, + geom geometry(MultiPolygon,2154), + CONSTRAINT pk_dossier_num PRIMARY KEY (dossier_num), + CONSTRAINT enforce_dims_geom CHECK (st_ndims(geom) = 2), + CONSTRAINT enforce_srid_geom CHECK (st_srid(geom) = 2154) +) +WITH ( + OIDS=FALSE +); +COMMENT ON COLUMN [TABLE_SCHEMA].dossier.author IS 'Auteur de l''enregistrement'; +COMMENT ON COLUMN [TABLE_SCHEMA].dossier.create_date IS 'Date de création de l''enregistrement'; +COMMENT ON COLUMN [TABLE_SCHEMA].dossier.modifier IS 'Dernier modificateur de l''enregistrement'; +COMMENT ON COLUMN [TABLE_SCHEMA].dossier.update_date IS 'Date de la dernière mise à jour de l''enregistrement'; +COMMENT ON COLUMN [TABLE_SCHEMA].dossier.geom IS 'Emprise globale du dossier'; + + +CREATE TABLE [TABLE_SCHEMA].parcelle_dossier +( + dossier_num character varying(30) NOT NULL, + id_par character(14) NOT NULL, + CONSTRAINT pk_dossier_num_id_par PRIMARY KEY (dossier_num, id_par) +) +WITH ( + OIDS=FALSE +); + + +CREATE TABLE [TABLE_SCHEMA].parcelle_oads +( + id_par character(14) NOT NULL, + geom geometry(MultiPolygon,2154), + CONSTRAINT pk_id_par PRIMARY KEY (id_par), + CONSTRAINT enforce_dims_geom CHECK (st_ndims(geom) = 2), + CONSTRAINT enforce_srid_geom CHECK (st_srid(geom) = 2154) +) +WITH ( + OIDS=FALSE +); +COMMENT ON COLUMN [TABLE_SCHEMA].dossier.geom IS 'geométrie de la parcelle '; + +CREATE TRIGGER insert_author_date_dossier + BEFORE INSERT + ON [TABLE_SCHEMA].dossier + FOR EACH ROW + EXECUTE PROCEDURE s_vitis.insert_author_date(); + +CREATE TRIGGER update_modifier_date_dossier + BEFORE UPDATE + ON [TABLE_SCHEMA].dossier + FOR EACH ROW + EXECUTE PROCEDURE s_vitis.update_modifier_date(); + +-- Index: [TABLE_SCHEMA].dossier_geom +-- DROP INDEX [TABLE_SCHEMA].dossier_geom; + +CREATE INDEX dossier_geom + ON [TABLE_SCHEMA].dossier + USING gist + (geom); + +-- Index: [TABLE_SCHEMA].dossier_geom +-- DROP INDEX [TABLE_SCHEMA].dossier_geom; + +CREATE INDEX parcelle_oads_geom + ON [TABLE_SCHEMA].parcelle_oads + USING gist + (geom); + +CREATE OR REPLACE VIEW [TABLE_SCHEMA].v_dossier AS + SELECT dossier.dossier_num, + CASE + WHEN length(dossier.dossier_num::text) = 15 OR length(dossier.dossier_num::text) = 17 THEN substr(dossier.dossier_num::text, 4, 5) + WHEN length(dossier.dossier_num::text) = 16 OR length(dossier.dossier_num::text) = 18 THEN substr(dossier.dossier_num::text, 5, 5) + ELSE '50'::text + END AS code_insee, + v_vmap_commune.nom AS commune, + CASE + WHEN length(dossier.dossier_num::text) = 15 OR length(dossier.dossier_num::text) = 17 THEN substr(dossier.dossier_num::text, 11, 1) + WHEN length(dossier.dossier_num::text) = 16 OR length(dossier.dossier_num::text) = 18 THEN substr(dossier.dossier_num::text, 12, 1) + ELSE NULL::text + END AS division, + CASE + WHEN length(dossier.dossier_num::text) = 15 OR length(dossier.dossier_num::text) = 17 THEN substr(dossier.dossier_num::text, 9, 2) + WHEN length(dossier.dossier_num::text) = 16 OR length(dossier.dossier_num::text) = 18 THEN substr(dossier.dossier_num::text, 10, 2) + ELSE NULL::text + END AS annee_dossier, + CASE + WHEN length(dossier.dossier_num::text) = 15 OR length(dossier.dossier_num::text) = 17 THEN substr(dossier.dossier_num::text, 1, 2) + WHEN length(dossier.dossier_num::text) = 16 OR length(dossier.dossier_num::text) = 18 THEN substr(dossier.dossier_num::text, 1, 3) + ELSE NULL::text + END AS type_dossier, + CASE + WHEN dossier.author::text IS NULL THEN 'Oui'::text + ELSE 'Non'::text + END AS creation_automatique, + dossier.author, dossier.create_date, dossier.modifier, dossier.update_date, + dossier.geom + FROM [TABLE_SCHEMA].dossier + LEFT JOIN s_cadastre.v_vmap_commune ON + CASE + WHEN length(dossier.dossier_num::text) = 15 OR length(dossier.dossier_num::text) = 17 THEN substr(dossier.dossier_num::text, 4, 5) + WHEN length(dossier.dossier_num::text) = 16 OR length(dossier.dossier_num::text) = 18 THEN substr(dossier.dossier_num::text, 5, 5) + ELSE NULL::text + END = v_vmap_commune.id_com::text + WHERE + CASE + WHEN length(dossier.dossier_num::text) = 15 OR length(dossier.dossier_num::text) = 17 THEN substr(dossier.dossier_num::text, 4, 5) + WHEN length(dossier.dossier_num::text) = 16 OR length(dossier.dossier_num::text) = 18 THEN substr(dossier.dossier_num::text, 5, 5) + ELSE NULL::text + END ~ similar_escape(( SELECT "user".restriction + FROM s_vitis."user" + WHERE "user".login::name = "current_user"()), NULL::text) + ORDER BY dossier.dossier_num DESC; + +-- Rule: delete_v_dossier ON [TABLE_SCHEMA].v_dossier + +-- DROP RULE delete_v_dossier ON [TABLE_SCHEMA].v_dossier; + +CREATE OR REPLACE RULE delete_v_dossier AS + ON DELETE TO [TABLE_SCHEMA].v_dossier DO INSTEAD DELETE FROM [TABLE_SCHEMA].dossier + WHERE dossier.dossier_num = old.dossier_num; + +-- Rule: insert_v_dossier ON [TABLE_SCHEMA].v_dossier + +-- DROP RULE insert_v_dossier ON [TABLE_SCHEMA].v_dossier; + +CREATE OR REPLACE RULE insert_v_dossier AS + ON INSERT TO [TABLE_SCHEMA].v_dossier DO INSTEAD INSERT INTO [TABLE_SCHEMA].dossier ( dossier_num, author, create_date, geom) + VALUES (new.dossier_num, "current_user"()::text, 'now'::text::date, new.geom); + +-- Rule: update_v_dossier ON [TABLE_SCHEMA].v_dossier +-- DROP RULE update_v_dossier ON [TABLE_SCHEMA].v_dossier; + +CREATE OR REPLACE RULE update_v_dossier AS + ON UPDATE TO [TABLE_SCHEMA].v_dossier DO INSTEAD UPDATE [TABLE_SCHEMA].dossier SET geom = new.geom + WHERE dossier.dossier_num = new.dossier_num; + + +ALTER TABLE [TABLE_SCHEMA].dossier OWNER TO u_vitis; +GRANT ALL ON TABLE [TABLE_SCHEMA].dossier TO u_vitis; +GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE [TABLE_SCHEMA].dossier TO oads_user; + +ALTER TABLE [TABLE_SCHEMA].parcelle_dossier OWNER TO u_vitis; +GRANT ALL ON TABLE [TABLE_SCHEMA].parcelle_dossier TO u_vitis; +GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE [TABLE_SCHEMA].parcelle_dossier TO oads_user; + +ALTER TABLE [TABLE_SCHEMA].parcelle_oads OWNER TO u_vitis; +GRANT ALL ON TABLE [TABLE_SCHEMA].parcelle_oads TO u_vitis; +GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE [TABLE_SCHEMA].parcelle_oads TO oads_user; + +ALTER TABLE [TABLE_SCHEMA].v_dossier OWNER TO u_vitis; +GRANT ALL ON TABLE [TABLE_SCHEMA].v_dossier TO u_vitis; +GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE [TABLE_SCHEMA].v_dossier TO oads_user; + + + diff --git a/src/module_vmap/storage/veremes_oads_parcelle/json/business_object.json b/src/module_vmap/storage/veremes_oads_parcelle/json/business_object.json new file mode 100755 index 0000000000000000000000000000000000000000..0b13c041db3596b2abd17c3ad5991a9410baa822 --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_parcelle/json/business_object.json @@ -0,0 +1,20 @@ +{ + "business_object_id":"veremes_oads_parcelle", + "title":"veremes_oads_parcelle", + "id_field":"id_par", + "database":"vitis_angular_vmap", + "schema":"veremes_oads", + "table":"v_parcelle_dossier", + "sql_summary":"select id_par as \"Parcelle\", dossier as \"Dossier\", '[bo_link href=\"{{getPropertie(''serveur_oads'')}}'||lien_dossier||'\" target=\"_blank\"]Lien vers OpenAds[/bo_link]' as \"OpenAds\" from veremes_oads.v_parcelle_dossier", + "sql_list":"select id_par from veremes_oads.v_parcelle_dossier", + "sorted_by":"id_par", + "geom_column":"geom", + "search_field":"id_par", + "result_field":"id_par", + "search_use_strict":"false", + "event_id":"", + "index":1, + "add_form_size":1, + "edit_form_size":1, + "display_form_size":1 +} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_parcelle/json/event.json b/src/module_vmap/storage/veremes_oads_parcelle/json/event.json new file mode 100755 index 0000000000000000000000000000000000000000..9e26dfeeb6e641a33dae4961196235bdb965b21b --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_parcelle/json/event.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_parcelle/json/mapserver_layers.json b/src/module_vmap/storage/veremes_oads_parcelle/json/mapserver_layers.json new file mode 100755 index 0000000000000000000000000000000000000000..3fcc08f190c6bb79528b1cbca39d63b357b763cd --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_parcelle/json/mapserver_layers.json @@ -0,0 +1,23 @@ +[{ + "ms_layer_id":91, + "name":"Oads_parcelle", + "title":"Oads_parcelle", + "coordsys_id":2154, + "coordsys_label":"[EPSG:2154]-RGF93/Lambert-93", + "source_id":null, + "connection_id":6, + "tableschema":"veremes_oads", + "tablename":"parcelle_oads", + "tableidfield":"id_par", + "definition":"LAYER\r\n\tNAME \"{LAYER_NAME}\"\r\n\tTYPE {LAYER_TYPE}\r\n\tSTATUS DEFAULT\r\n\t{CONNECTION}\r\n\tDATA \"geom from {TABLE_SCHEMA}.{TABLE_NAME} USING SRID={SRID} USING UNIQUE {TABLE_ID}\"\r\n\tOPACITY {LAYER_OPACITY}\r\n\t{COORDSYS}\r\n\tMETADATA\r\n\t\t\"wms_title\" \t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_srs\" \t\t\t\t\"EPSG:2154\"\r\n\t\t\"wms_name\" \t\t\t\t\"{LAYER_NAME}\"\r\n\t\t\"wms_server_version\" \t\"1.3.0\"\r\n\t\t\"wms_format\" \t\t\t\"image/png\"\r\n\tEND\r\n\tCLASS\r\n\t\tNAME \"Dossier\"\r\n\t\tSTYLE\r\n\t\t\tCOLOR \"#FED4FE\"\r\n\tOPACITY 50\r\n\t\tEND\r\n\t\tSTYLE\r\n\t\t\tOUTLINECOLOR \"#FFFFFF\"\r\n\t\t\tWIDTH 5\r\n\t\tEND\r\n\t\tSTYLE\r\n\t\t\tOUTLINECOLOR \"#FF0000\"\r\n\t\t\tWIDTH 4\r\n\t\t\tLINECAP butt #[butt|round|square|triangle]\r\n\t\t\tLINEJOIN miter #[round|miter|bevel]\r\n\t\t\tLINEJOINMAXSIZE 2\r\n\t\t\tPATTERN 10 10 END\r\n\t\tEND\r\n\tEND\r\nEND", + "active":true, + "opacity":100, + "ms_layertype_id":"POLYGON", + "private_connection":true, + "connection_label":"Connexion privée", + "source_label":null, + "definitiontmp":"", + "database":"vmap", + "wmsservices":"", + "wmsservices_label":"" +}] \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_parcelle/package.json b/src/module_vmap/storage/veremes_oads_parcelle/package.json new file mode 100755 index 0000000000000000000000000000000000000000..461fcecdd13e7a4fb59d955713e58c571d7e39d1 --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_parcelle/package.json @@ -0,0 +1,5 @@ +{ + "author": "Laurent", + "mame": "veremes_oads_parcelle", + "description": "Objet métier permettant la visualisation des parcelles d'un dossier OpenAds" +} diff --git a/src/module_vmap/storage/veremes_oads_parcelle/sql/structure.json b/src/module_vmap/storage/veremes_oads_parcelle/sql/structure.json new file mode 100755 index 0000000000000000000000000000000000000000..5eb29353e070d15f766bc882dc5d45efbcf6e55f --- /dev/null +++ b/src/module_vmap/storage/veremes_oads_parcelle/sql/structure.json @@ -0,0 +1,6 @@ +{ + "schema": "", + "srid": "", + "tables": [""], + "sequences": [""] +} \ No newline at end of file diff --git a/src/module_vmap/storage/veremes_oads_parcelle/sql/table.sql b/src/module_vmap/storage/veremes_oads_parcelle/sql/table.sql new file mode 100755 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/module_vmap/web_service/ws/PrintMapServices.class.inc b/src/module_vmap/web_service/ws/PrintMapServices.class.inc index 34623aa9e67138ed38103a4660df48aa16457ba8..8c656d82a79f0611936a05c7a3bb8220adcab8db 100755 --- a/src/module_vmap/web_service/ws/PrintMapServices.class.inc +++ b/src/module_vmap/web_service/ws/PrintMapServices.class.inc @@ -15,7 +15,7 @@ require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vmlib/BdDataAccess.i * \brief This file contains the PrintMapServices php class * * This class defines the rest api for printmapservices - * + * */ class PrintMapServices extends PrintServices { /** @@ -241,14 +241,6 @@ class PrintMapServices extends PrintServices { } } - // Change la taille de l'image en fonction de la résolution - if (isset($this->aValues['resolution_coeff'])) { - $aImageSize = explode('|', $sImageSize); - $aImageSize[0] = $aImageSize[0] * $this->aValues['resolution_coeff']; - $aImageSize[1] = $aImageSize[1] * $this->aValues['resolution_coeff']; - $sImageSize = implode('|', $aImageSize); - } - // Écrit les paramètres gros dans des fichiers if (is_dir($this->aProperties['vas_home'])) { if (!is_dir($this->aProperties['vas_home'] . '/public')) { @@ -343,4 +335,4 @@ class PrintMapServices extends PrintServices { } -?> \ No newline at end of file +?> diff --git a/src/vitis/.gitignore b/src/vitis/.gitignore index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fb23a1f31378cce575900e083e4179591effa425 100644 --- a/src/vitis/.gitignore +++ b/src/vitis/.gitignore @@ -0,0 +1,6 @@ +vas/rest/class/* +vas/rest/class/!*/ +vas/rest/class/!*.* +vas/sql/* +vas/sql/!*/ +vas/sql/!*.* diff --git a/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js b/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js index 283bbc430a4b12761af760ab9563956ee0ac3e1e..48e7a37a22b78e1f1154bcaec9471d51e4a1c3a5 100644 --- a/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js +++ b/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js @@ -176,6 +176,8 @@ formReader.formReaderDirective = function ($q, formReaderService, propertiesSrvc } }); }); + } else { + console.error('Error: form not valid'); } }; @@ -711,6 +713,9 @@ formReader.appFormFieldSpecificParamsDrtv = function ($timeout, $translate, prop $(element)["datetimepicker"](oOptions); // Si sélection d'une date : mise à jour du modèle (NE PAS SUPPRIMER!). + $(element).on("dp.hide", function (e) { + scope["oFormValues"][scope["sFormDefinitionName"]][element[0].name] = element[0].value; + }); $(element).on("dp.change", function (e) { scope["oFormValues"][scope["sFormDefinitionName"]][element[0].name] = element[0].value; }); @@ -2151,8 +2156,8 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, // Récupère lélément en sélectionné formReaderService['getWebServiceData'](oFormWebService).then(function (aResult) { - var oSubformDefinition = aResult[0]['bo_json_form']; + var sSubformJSDefinition = aResult[0]['bo_json_form_js']; var oSubformValues = {}; var sModalId = 'formreader_' + scope['sFormUniqueName'] + '_grid_subform_modal'; @@ -2219,7 +2224,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, } }); - formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues); + formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues, sSubformJSDefinition); }); }; @@ -2247,6 +2252,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, }; var sModalId = 'formreader_' + scope['sFormUniqueName'] + '_grid_subform_modal'; var oSubformDefinition = oBusinessObject['json_form'][0]; + var sSubformJSDefinition = oBusinessObject['json_form_js']; var sSubformDefinitionName = 'insert'; // Grise le champ contenant la valeur du parent @@ -2288,7 +2294,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, }); }); }; - formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues); + formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues, sSubformJSDefinition); }; /** diff --git a/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js b/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js index 6ca6ef291e6a45bdf3b6298b998729bd7abddef5..613652f9c35ccf385e3b72c1c26432d8e0e8a09f 100644 --- a/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js +++ b/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js @@ -1230,15 +1230,15 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time * @param {object} oSubformDefinition * @param {object} oSubformDefinitionName * @param {object} oSubformValues + * @param {string|null} sSubformJSDefinition */ - "showModalSubform": function (sModalId, oSubformScope, oSubformDefinition, oSubformDefinitionName, oSubformValues) { + "showModalSubform": function (sModalId, oSubformScope, oSubformDefinition, oSubformDefinitionName, oSubformValues, sSubformJSDefinition) { $log.log("showModalSubform"); var sToken = this['sToken']; var oProperties = this['oProperties']; - if (goog.isDefAndNotNull(oSubformScope['loadSubForm'])) { - + var loadForm = function(){ oSubformScope['loadSubForm']({ 'sFormDefinitionName': oSubformDefinitionName, 'oFormDefinition': oSubformDefinition, @@ -1246,6 +1246,30 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time 'oProperties': oProperties, 'sToken': sToken }); + } + + if (goog.isDefAndNotNull(oSubformScope['loadSubForm'])) { + + if (goog.isDefAndNotNull(sSubformJSDefinition)) { + var sUrl = sSubformJSDefinition; + oVmap.log("initHtmlForm : javascript assoc. to : " + sUrl); + loadExternalJs([sUrl], { + "callback": function () { + loadForm(); + try { + if (goog.isDef(constructor_form)) { + constructor_form(oSubformScope, sUrl); + } + } catch (e) { + oVmap.log("constructor_form does not exist"); + } + }, + "async": true, + "scriptInBody": true + }); + } else { + loadForm(); + } $('#' + sModalId).modal('show'); } diff --git a/src/vitis/vas/doc/index.phtml b/src/vitis/vas/doc/index.phtml index 086cb768856aca4ecc21b4767186d05547388f71..d4fedf02fc3fd79b18c6da0ffab7f8110a02c8e3 100755 --- a/src/vitis/vas/doc/index.phtml +++ b/src/vitis/vas/doc/index.phtml @@ -1,6 +1,9 @@ <?php session_start(); -require_once '../rest/conf/properties.inc'; + +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; + +require_once $_SERVER['VAS_PATH'] . '/rest/conf/properties.inc'; function returnOverview($sFolder, $parent) { $aModules = array(); @@ -17,10 +20,12 @@ function returnOverview($sFolder, $parent) { } } } + return $aModules; } -$aOverview = returnOverview(__DIR__ . "/../rest/ws", ""); +$aOverview = returnOverview($_SERVER['VAS_PATH'] . "/rest/ws", ""); +error_log('$aOverview: '. print_r($aOverview, true)); ?> <!DOCTYPE html> @@ -59,7 +64,7 @@ $aOverview = returnOverview(__DIR__ . "/../rest/ws", ""); sToken = json.PrivateToken.token; } else { sToken = code[0].outerText.split('<token>')[1].split('</token>')[0]; - } + } if (sToken != "") { $("input[name='token']").each(function () { $(this).attr("value", sToken); @@ -154,4 +159,3 @@ foreach ($aOverview as $key => $value) { </div> </body> </html> - diff --git a/src/vitis/vas/doc/swagger.php b/src/vitis/vas/doc/swagger.php index 3437171a291a5f277b6518b72ff0afdd04f8dab5..aca8acffc87a164aedf500bb1f31effd57cf8e5c 100755 --- a/src/vitis/vas/doc/swagger.php +++ b/src/vitis/vas/doc/swagger.php @@ -1,8 +1,9 @@ <?php +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; header('Content-Type: application/json'); -require_once "../rest/conf/properties.inc"; +require_once $_SERVER['VAS_PATH'] . "/rest/conf/properties.inc"; require("vendor/autoload.php"); -$swagger = \Swagger\scan('../rest/ws/'.$_REQUEST['service']); +$swagger = \Swagger\scan($_SERVER['VAS_PATH'] . '/rest/ws/'.$_REQUEST['service']); $aServer = explode("://", $properties["web_server_name"]); $swagger = str_replace("[service_alias]", $properties["services_alias"], $swagger); $swagger = str_replace("[protocol]", $aServer[0], $swagger); diff --git a/src/vitis/vas/rest/index.phtml b/src/vitis/vas/rest/index.phtml index 86af3b21c85db3857e6e5be0ffccaae43e8a50f7..d4b4cffa2cb95cad6d52b949c6476345429ae154 100755 --- a/src/vitis/vas/rest/index.phtml +++ b/src/vitis/vas/rest/index.phtml @@ -1,5 +1,7 @@ <?php +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; + require_once("class/vitis_lib/VitisError.class.inc"); require_once("class/vmlib/cryptUtil.inc"); require_once("conf/properties.inc"); @@ -199,4 +201,4 @@ function customErrorHandler ($errno, $errstr, $errfile, $errline, $context){ } include ("index.vhtml"); -?> \ No newline at end of file +?> diff --git a/src/vitis/vas/rest/ws/vitis/Properties.class.inc b/src/vitis/vas/rest/ws/vitis/Properties.class.inc index d363c98601beb319ee43bce3dd2da87b4d247c80..c7f65b413b16534d0349e47a7b9a0a420d1ba76a 100755 --- a/src/vitis/vas/rest/ws/vitis/Properties.class.inc +++ b/src/vitis/vas/rest/ws/vitis/Properties.class.inc @@ -14,7 +14,7 @@ require_once(__DIR__ . '/../../class/vmlib/BdDataAccess.inc'); * \brief This file contains the Properties php class * * This class defines the rest api for properties - * + * */ class Properties extends Vitis { /** @@ -53,7 +53,7 @@ class Properties extends Vitis { } /** - * @SWG\Get(path="/properties", + * @SWG\Get(path="/properties", * tags={"Properties"}, * summary="Get properties", * description="Request to get properties", @@ -75,7 +75,7 @@ class Properties extends Vitis { */ /** - * + * * @return properties */ function GET() { @@ -85,19 +85,19 @@ class Properties extends Vitis { } else { $this->aFields = $this->aProperties; } - require_once __DIR__ . "/../../conf/version.inc"; + require_once dirname($_SERVER['SCRIPT_FILENAME']) . "/conf/version.inc"; if (VM_STATUS != "STABLE") { $this->aFields['VM_STATUS'] = "UNSTABLE"; } else { $this->aFields['VM_STATUS'] = "STABLE"; - if ($pointeur = opendir(__DIR__ . "/../../conf/")) { + if ($pointeur = opendir(dirname($_SERVER['SCRIPT_FILENAME']) . "/conf/")) { while (($fichier = readdir($pointeur)) !== false) { if (($fichier != '.') && ($fichier != '..')) { - if (is_dir(__DIR__ . "/../../conf/" . $fichier)) { - $sTexte = file_get_contents(__DIR__ . "/../../conf/" . $fichier . "/version.inc"); + if (is_dir(dirname($_SERVER['SCRIPT_FILENAME']) . "/conf/" . $fichier)) { + $sTexte = file_get_contents(dirname($_SERVER['SCRIPT_FILENAME']) . "/conf/" . $fichier . "/version.inc"); if (strpos($sTexte, "define (\"VM_STATUS\", \"STABLE\");") == false) { $this->aFields['VM_STATUS'] = "UNSTABLE"; @@ -216,7 +216,7 @@ class Properties extends Vitis { * description="Poprerties Response", * @SWG\Schema(ref="#/definitions/properties") * ), - * + * * ) */ @@ -299,7 +299,7 @@ class Properties extends Vitis { // Message de retour $aMessage = array('status' => REQUEST_SUCCESS); - // Ouverture de php + // Ouverture de php $sPropertiesFile = PHP_START . PHP_EOL; // Texte à ajouter avant le tableau des properties @@ -343,14 +343,14 @@ class Properties extends Vitis { $sPropertiesFile .= PROPERTIES_FOOTER . PHP_EOL; } - // Fermeture de php + // Fermeture de php $sPropertiesFile .= PHP_END; // Sauve le fichier (LOCK_EX = accés exclusif au fichier) if ($this->aValues['module_name'] == 'vitis') - $sPathProperties = __DIR__ . '/../../conf/properties.inc'; + $sPathProperties = dirname($_SERVER['SCRIPT_FILENAME']) . '/conf/properties.inc'; else - $sPathProperties = __DIR__ . '/../../conf/' . $this->aValues['module_name'] . '/properties.inc'; + $sPathProperties = dirname($_SERVER['SCRIPT_FILENAME']) . '/conf/' . $this->aValues['module_name'] . '/properties.inc'; // if (file_put_contents($sPathProperties, $sPropertiesFile, LOCK_EX) === false) $aReturn = array('status' => 0, 'message' => "FORM_ERROR_FILE_WRITING_CONFIGURATION"); @@ -424,4 +424,4 @@ class Properties extends Vitis { } -?> \ No newline at end of file +?> diff --git a/src/vitis/vas/util/printserver/client/map/map.js b/src/vitis/vas/util/printserver/client/map/map.js index 2a870d9a00d0935c5b31cc776ac42210b8d84ed9..d6dcd882b6e15b31919e02a1799a6bb2b0212263 100755 --- a/src/vitis/vas/util/printserver/client/map/map.js +++ b/src/vitis/vas/util/printserver/client/map/map.js @@ -7,7 +7,7 @@ PrintMap = function (opt_options) { var this_ = this; - + this.mapSize = [document.getElementById('map').offsetWidth, document.getElementById('map').offsetHeight]; this.tileSize = (isDef(window.oProperties.print.tile_size) && window.oProperties.print.features_zoom >= 0) ? window.oProperties.print.tile_size : 2048; @@ -29,7 +29,7 @@ PrintMap = function (opt_options) { this.mapJsonParser = new MapJSON({ 'properties': window.oProperties }); - + this.view = this.mapJsonParser.getViewFromDef(this.mapDefinition, { 'size': this.mapSize, 'tileSize': [this.tileSize, this.tileSize] @@ -39,13 +39,13 @@ PrintMap = function (opt_options) { this.extent = this.getExtent(opt_options); - this.tileGrid = this.getTileGridFromDefinition(this.tileSize); - + this.tileGrid = this.getTileGridFromDefinition(this.tileSize); + this.layers = this.mapJsonParser.getLayersFromDef(this.mapDefinition, { 'size': this.mapSize, 'tileSize': [this.tileSize, this.tileSize] }); - + this.map = this.setMap(this.layers, this.view); this.featuresOverlay = this.setFeaturesOverlay(this.map); @@ -63,6 +63,9 @@ PrintMap = function (opt_options) { // Supprime tous les controls par défaut this.removeMapControls(); + // Taille des icones en fonction de la résolution demandée + this.setMapSymbolsResolution(this.map, this.resolutionCoeff) + // Si aucune étendue a été donnée et que seul un point a été donné, alors zoom sur this.defaultScale if (!isDef(opt_options.extent) && !isDef(this.features)) { if (this.features.length === 1 && this.features[0].getGeometry().getType() === 'Point') { @@ -310,7 +313,7 @@ PrintMap.prototype.getFeaturesFromEWKT = function (aEWKTFeatures) { }; /** - * Return true if EWKTGeom is an EWKT geometry + * Return true if EWKTGeom is an EWKT geometry * @param {string} EWKTGeom * @returns {boolean} */ @@ -367,4 +370,21 @@ PrintMap.prototype.getGeomFromEWKT = function (EWKTGeom, proj) { return null; } -}; \ No newline at end of file +}; + +/** + * For WMS layers set MAP.RESOLUTION and MAP.DEFRESOLUTION to rise the symbols size + * + * @param {object} olMap + * @param {integer} resolutionCoeff + */ +PrintMap.prototype.setMapSymbolsResolution = function (olMap, resolutionCoeff) { + + var newRes = resolutionCoeff * 72; + var aLayers = olMap.getLayers().getArray(); + for (var i = 0; i < aLayers.length; i++) { + if (aLayers[i].get('type') === 'imagewms' || aLayers[i].get('type') === 'tilewms') { + aLayers[i].getSource().updateParams({'MAP.RESOLUTION': newRes, 'MAP.DEFRESOLUTION': 72}); + } + } +} diff --git a/update.bat b/update.bat new file mode 100644 index 0000000000000000000000000000000000000000..46ef323f0223fbdc2a151c7c4b1395ee786ca135 --- /dev/null +++ b/update.bat @@ -0,0 +1,10 @@ +@echo off +title Update Vitis App +echo Update Vitis App + +call utils/update_tree.bat + +cd client/conf +call grunt + +pause diff --git a/utils/copy_hooks.bat b/utils/copy_hooks.bat new file mode 100644 index 0000000000000000000000000000000000000000..a24ac68b0f099047b546b33d77a4fab3d99c0247 --- /dev/null +++ b/utils/copy_hooks.bat @@ -0,0 +1,3 @@ + + +robocopy "githooks" "../.git/hooks" /E /NFL /NDL /NJH /NJS /nc /ns /np diff --git a/utils/get_deps.sh b/utils/get_deps.sh index 92b0273980ef5ae8db6eea7268fd3a5c406243b9..0a26177f9d9a4d746b39799eff421477c4d6ebd8 100755 --- a/utils/get_deps.sh +++ b/utils/get_deps.sh @@ -1,24 +1,23 @@ #!/bin/bash # # Récupère l'ensemble des dépendances depuis conf/_install/dependency.xml -# Nécessite xmllint : sudo apt install libxml2-utils # # # # - if [ "../conf/_install/dependency.xml" ]; then - let depsCount=$(xmllint --xpath 'count(//dependenciesCollection/dependency/name)' ../conf/_install/dependency.xml) declare -A aDeps vitisVersion=master + depsCount=0 + dependencies=($(cat "../conf/_install/dependency.xml" | tr -d '\040\011\012\015' | grep -oP '<dependency>([\s\S]*?)<\/dependency>')) - for (( i=1; i <= $depsCount; i++ )); do + for i in ${!dependencies[*]}; do - sName="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/name)' ../conf/_install/dependency.xml)" - sVersion="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/version)' ../conf/_install/dependency.xml)" - sNature="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/nature)' ../conf/_install/dependency.xml)" + sName=$(grep -oP '(?<=name>)[^<]+' <<< ${dependencies[$i]}) + sVersion=$(grep -oP '(?<=version>)[^<]+' <<< ${dependencies[$i]}) + sNature=$(grep -oP '(?<=nature>)[^<]+' <<< ${dependencies[$i]}) if [ $sName == "vitis" ]; then vitisVersion=$sVersion @@ -27,22 +26,22 @@ if [ "../conf/_install/dependency.xml" ]; then aDeps[$i, name]=$sName aDeps[$i, version]=$sVersion aDeps[$i, nature]=$sNature + let depsCount++ fi done echo "[INFO] dependencies:" echo "vitis : $vitisVersion" - for (( i=1; i <= $depsCount; i++ )); do - - echo "name: ${aDeps[$i, name]}" - echo "version: ${aDeps[$i, version]}" - + for i in ${!dependencies[*]}; do + echo "(${aDeps[$i, nature]}) ${aDeps[$i, name]} : ${aDeps[$i, version]}" done + echo "depsCount : ${depsCount}" export vitisVersion export depsCount export aDeps + else echo "[ERROR] ../conf/_install/dependency.xml not found" fi diff --git a/utils/init_symlinks.sh b/utils/init_symlinks.sh index c98ed30e162c2d81c8b90e5b6755bb5602941b5e..562c7ddb343ad70e85c86d8300080d6eb2c7f7fa 100755 --- a/utils/init_symlinks.sh +++ b/utils/init_symlinks.sh @@ -19,20 +19,66 @@ read APP_EXISTING_PATH cd .. +# Supprime les anciens symlinks +if [ -d "client" ]; then + rm -Rf client +fi +if [ -d "vas" ]; then + rm -Rf vas +fi +find src/vitis/client -type l -delete +find src/vitis/vas/sql -type l -delete +find src/vitis/vas/rest -type l -delete + # Vitis echo "---- Link vitis ----" if ! [ -e "$(pwd)/client" ]; then - echo "---- Link vitis 2 ----" - ln -rsf src/vitis/client client + + mkdir client + mkdir client/javascript + mkdir client/modules + ln -rsf src/vitis/client/css client/css + ln -rsf src/vitis/client/forms client/forms + ln -rsf src/vitis/client/images client/images + ln -rsf src/vitis/client/javascript/app client/javascript/app + ln -rsf src/vitis/client/javascript/externs client/javascript/externs + ln -rsf src/vitis/client/javascript/require client/javascript/require + ln -rsf src/vitis/client/lang client/lang + ln -rsf src/vitis/client/less client/less + ln -rsf src/vitis/client/modules/vitis client/modules/vitis + ln -rsf src/vitis/client/templates client/templates + ln -rsf src/vitis/client/.htaccess client/.htaccess + ln -rsf src/vitis/client/index.html client/index.html fi if ! [ -e "$(pwd)/vas" ]; then - ln -rsf src/vitis/vas vas + + mkdir vas + mkdir vas/rest + mkdir vas/rest/ws + ln -rsf src/vitis/vas/doc vas/doc + ln -rsf src/vitis/vas/rest/class vas/rest/class + ln -rsf src/vitis/vas/rest/inc vas/rest/inc + ln -rsf src/vitis/vas/rest/ws/vitis vas/rest/ws/vitis + ln -rsf src/vitis/vas/rest/index.phtml vas/rest/index.phtml + ln -rsf src/vitis/vas/rest/index.vhtml vas/rest/index.vhtml + ln -rsf src/vitis/vas/sql vas/sql + ln -rsf src/vitis/vas/util vas/util fi # Conf echo "---- Link conf ----" if ! [ -e "src/vitis/client/conf" ]; then - ln -rsf conf src/vitis/client/conf + # ln -rsf conf client/conf + + mkdir client/conf + for elem in $( ls "conf"); do + if [[ $elem != 'properties.json' ]]; then + if [[ -d "conf/${elem}" || -f "conf/${elem}" ]]; then + echo "---- Link conf/$elem" + ln -rsf conf/$elem client/conf/$elem + fi + fi + done fi if ! [ -e "conf/closure" ]; then ln -rsf src/closure/conf conf/closure @@ -47,22 +93,17 @@ if [[ $depsCount > 0 ]]; then echo "---- Link module_${module} ----" if [ -d "$(pwd)/src/module_${module}/module" ]; then if ! [ -e "src/vitis/client/modules/${module}" ]; then - ln -rsf src/module_${module}/module src/vitis/client/modules/${module} + ln -rsf src/module_${module}/module client/modules/${module} fi fi if [ -d "$(pwd)/src/module_${module}/web_service/ws" ]; then if ! [ -e "src/vitis/vas/rest/ws/${module}" ]; then - ln -rsf src/module_${module}/web_service/ws src/vitis/vas/rest/ws/${module} - fi - fi - if [ -d "$(pwd)/src/module_${module}/web_service/conf" ]; then - if ! [ -e "src/vitis/vas/rest/conf/${module}" ]; then - ln -rsf src/module_${module}/web_service/conf src/vitis/vas/rest/conf/${module} + ln -rsf src/module_${module}/web_service/ws vas/rest/ws/${module} fi fi if [ -d "$(pwd)/src/module_${module}/web_service/sql" ]; then if ! [ -e "src/vitis/vas/sql/${module}" ]; then - ln -rsf src/module_${module}/web_service/sql src/vitis/vas/sql/${module} + ln -rsf src/module_${module}/web_service/sql vas/sql/${module} fi fi if [ -d "$(pwd)/src/module_${module}/web_service/class" ]; then @@ -70,7 +111,7 @@ if [[ $depsCount > 0 ]]; then if [ -d "$(pwd)/src/module_${module}/web_service/class/${class_dir}" ]; then echo "---- Link module_${module}/${class_dir} ----" if ! [ -e "src/vitis/vas/rest/class/${class_dir}" ]; then - ln -rsf src/module_${module}/web_service/class/${class_dir} src/vitis/vas/rest/class/${class_dir} + ln -rsf src/module_${module}/web_service/class/${class_dir} vas/rest/class/${class_dir} fi fi done @@ -84,6 +125,7 @@ if [[ $depsCount > 0 ]]; then echo "---- Link exixting app ${APP_EXISTING_PATH} ----" declare -a existing_folders_path=("vas/server" + "vas/rest/conf" "vas/log" "vas/public" "vas/shared" @@ -99,11 +141,6 @@ if [[ $depsCount > 0 ]]; then done declare -a existing_files_path=("client/conf/properties.json" - "vas/rest/conf/properties.inc" - "vas/rest/conf/properties_domain.inc" - "vas/rest/conf/properties_post.inc" - "vas/rest/conf/properties_server.inc" - "vas/rest/conf/version.inc" "vas/rest/.htaccess") for file_path in "${existing_files_path[@]}"; do if [ -f "${APP_EXISTING_PATH}/$file_path" ]; then @@ -114,15 +151,8 @@ if [[ $depsCount > 0 ]]; then for properties_dir in $( ls "${APP_EXISTING_PATH}/vas/rest/conf"); do if [ -d "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}" ]; then - if [ -d "$(pwd)/vas/rest/conf/${properties_dir}" ]; then - for properties_file in $( ls "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}"); do - # if [ ${properties_file:0:10}=="properties" || ${properties_file}=="version.inc" ]; then - if [[ $properties_file == "properties"* ]] || [[ $properties_file == "version.inc" ]]; then - echo "copy vas/rest/conf/${properties_dir}/${properties_file}" - cp -f "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/${properties_file}" "$(pwd)/vas/rest/conf/${properties_dir}/${properties_file}" - fi - done - fi + echo "copy ${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/ > $(pwd)/vas/rest/conf/" + cp -Rf "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/" "$(pwd)/vas/rest/conf/" fi done fi diff --git a/utils/init_tree.bat b/utils/init_tree.bat new file mode 100644 index 0000000000000000000000000000000000000000..d8e6956ca21d8e9e7a4d4d46c77657f1153fb8b9 --- /dev/null +++ b/utils/init_tree.bat @@ -0,0 +1,99 @@ +@echo off +title Install Vitis App +setlocal EnableDelayedExpansion + +cd .. + +set /p existing_path="Existing app path: " + +REM Client Dir +echo Create client directory +if exist "client" ( + rmdir /S /Q "client" +) +echo copy client +robocopy "src/vitis/client" "client" /E /NFL /NDL /NJH /NJS /nc /ns /np +echo copy client/conf +robocopy "conf" "client/conf" /E /NFL /NDL /NJH /NJS /nc /ns /np +echo copy client/conf/closure +robocopy "src/closure/conf" "client/conf/closure" /E /NFL /NDL /NJH /NJS /nc /ns /np + +echo Copy client modules +for /d %%g in ("src/module_*") do ( + set x=%%g + echo !x:~7! + if exist "src/%%g/module" ( + echo copy client/modules/!x:~7! + robocopy "src/%%g/module" "client/modules/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) +) + +REM VAS dir +echo Create vas directory +echo Create client directory +if exist "vas" ( + rmdir /S /Q "vas" +) +echo copy vas +robocopy "src/vitis/vas" "vas" /E /NFL /NDL /NJH /NJS /nc /ns /np + +echo Copy vas web_services +for /d %%g in ("src/module_*") do ( + set x=%%g + echo !x:~7! + if exist "src/%%g/web_service/conf" ( + echo copy vas/rest/conf/!x:~7! + robocopy "src/%%g/web_service/conf" "vas/rest/conf/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "src/%%g/web_service/sql" ( + echo copy vas/sql/!x:~7! + robocopy "src/%%g/web_service/sql" "vas/sql/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "src/%%g/web_service/ws" ( + echo copy vas/rest/ws/!x:~7! + robocopy "src/%%g/web_service/ws" "vas/rest/ws/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "src/%%g/web_service/class" ( + echo copy vas/rest/class + robocopy "src/%%g/web_service/class" "vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "src/%%g/web_service/ws_data" ( + echo copy vas/ws_data + robocopy "src/%%g/web_service/ws_data" "vas/ws_data" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "src/%%g/web_service/public" ( + echo copy vas/public + robocopy "src/%%g/web_service/public" "vas/public" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "src/%%g/web_service/upload" ( + echo copy vas/upload + robocopy "src/%%g/web_service/upload" "vas/upload" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) +) + +REM Copy from existing path +if exist %existing_path% ( + echo copy properties from %existing_path% + + for %%G in (vas\server,vas\rest\conf,vas\log,vas\public,vas\shared,vas\tmp,vas\upload,vas\ws_data) do ( + echo %%G + if exist %existing_path%\%%G ( + echo copy %%G + robocopy "%existing_path%\%%G" "%%G" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + ) + + if exist %existing_path%\client\conf\properties.json ( + echo copy properties.json + robocopy "%existing_path%\client\conf" "client\conf" "properties.json" /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist %existing_path%\vas\rest\.htaccess ( + echo copy .htaccess + robocopy "%existing_path%\vas\rest" "vas\rest" ".htaccess" /NFL /NDL /NJH /NJS /nc /ns /np + ) + + if exist "%existing_path%\vas\rest\conf" ( + echo copy vas\rest\conf + robocopy "%existing_path%\vas\rest\conf" "vas\rest\conf" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) +) diff --git a/utils/pull_subtrees.sh b/utils/pull_subtrees.sh index c2793f2ee9ad6e0f53da243fb1b6d26dd9baa20b..5cac1ba0c4a626761809103e822793ec694068a4 100755 --- a/utils/pull_subtrees.sh +++ b/utils/pull_subtrees.sh @@ -17,17 +17,7 @@ cd .. # Vitis echo "---- Pull vitis ----" -git subtree pull --prefix src/vitis --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" master - -# fichiers à ignorer -git update-index --assume-unchanged conf/properties.json -git update-index --assume-unchanged conf/package.json -git update-index --assume-unchanged src/vitis/vas/rest/.htaccess -git update-index --assume-unchanged src/vitis/vas/rest/conf/properties.inc -git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_domain.inc -git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_post.inc -git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_server.inc -git update-index --assume-unchanged src/vitis/vas/rest/conf/version.inc +git subtree pull --prefix src/vitis --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion # Modules if [[ $depsCount > 0 ]]; then @@ -36,11 +26,7 @@ if [[ $depsCount > 0 ]]; then echo "---- Pull ${aDeps[$i, name]} ----" # Ajoute le dépôt - git subtree pull --prefix src/${aDeps[$i, name]} --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" master - # fichiers à ignorer - git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/properties.inc - git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/properties_server.inc - git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/version.inc + git subtree pull --prefix src/${aDeps[$i, name]} --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]} fi done fi diff --git a/utils/push_subtrees.sh b/utils/push_subtrees.sh index b4949ea2dca1465c2cc0282d59442c158d7138e1..18a9d3bdac1f0d8d3f6af3e16af06d7337ddf9f6 100755 --- a/utils/push_subtrees.sh +++ b/utils/push_subtrees.sh @@ -17,7 +17,11 @@ cd .. # Vitis echo "---- Push vitis ----" -git subtree push --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" master +{ # 'try' block + git subtree push --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion +} || { # 'catch' block + echo "could not push vitis" +} # Modules if [[ $depsCount > 0 ]]; then @@ -28,7 +32,7 @@ if [[ $depsCount > 0 ]]; then # Push le dépôt { # 'try' block - git subtree push --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" master + git subtree push --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]} } || { # 'catch' block echo "could not push ${aDeps[$i, name]}" } diff --git a/utils/update_tree.bat b/utils/update_tree.bat new file mode 100644 index 0000000000000000000000000000000000000000..3c3c5dc356d7cc5922c046ea95f6787f80faa363 --- /dev/null +++ b/utils/update_tree.bat @@ -0,0 +1,80 @@ +@echo off +title Update Vitis tree +echo Update Vitis tree +setlocal EnableDelayedExpansion + +cd utils + +REM Pull repo +"C:\Program Files\Git\bin\sh.exe" --login -i -c "git pull" + +REM Pull subtrees +"C:\Program Files\Git\bin\sh.exe" --login -i -c "./pull_subtrees.sh" + +REM Save important files +if exist "../vas/rest/sql" ( + robocopy "../vas/rest/sql" "../vas/rest/sql_bak" /E /NFL /NDL /NJH /NJS /nc /ns /np +) +if exist "../vas/rest/conf" ( + robocopy "../vas/rest/conf" "../vas/rest/conf_bak" /E /NFL /NDL /NJH /NJS /nc /ns /np +) + +REM Replace Vitis files +for /d %%g in ("../src/vitis/client/*") do ( + set x=%%g + echo copy client/!x! + rmdir /S /Q "../client/!x!" + robocopy "../src/vitis/client/!x!" "../client/!x!" /E /NFL /NDL /NJH /NJS /nc /ns /np +) +for /d %%g in ("../src/vitis/vas/sql") do ( + echo copy vas/sql + rmdir /S /Q "../vas/sql" + robocopy "../src/vitis/vas/sql" "../vas/sql" /E /NFL /NDL /NJH /NJS /nc /ns /np +) +for /d %%g in ("../src/vitis/vas/rest/class") do ( + echo copy vas/rest/class + rmdir /S /Q "../vas/rest/class" + robocopy "../src/vitis/vas/rest/class" "../vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np +) +for /d %%g in ("../src/vitis/vas/rest/conf") do ( + echo copy vas/rest/conf + robocopy "../src/vitis/vas/rest/conf" "../vas/rest/conf_veremes" /E /NFL /NDL /NJH /NJS /nc /ns /np +) +for /d %%g in ("../src/vitis/vas/rest/inc") do ( + echo copy vas/rest/inc + rmdir /S /Q "../vas/rest/inc" + robocopy "../src/vitis/vas/rest/inc" "../vas/rest/inc" /E /NFL /NDL /NJH /NJS /nc /ns /np +) +for /d %%g in ("../src/vitis/vas/rest/ws") do ( + echo copy vas/rest/ws + rmdir /S /Q "../vas/rest/ws" + robocopy "../src/vitis/vas/rest/ws" "../vas/rest/ws" /E /NFL /NDL /NJH /NJS /nc /ns /np +) + +REM Replace modules files +for /d %%g in ("../src/module_*") do ( + set x=%%g + if exist "../src/%%g/module" ( + echo copy client/modules/!x:~7! + robocopy "../src/%%g/module" "../client/modules/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "../src/%%g/web_service/conf" ( + echo copy vas/rest/conf_veremes/!x:~7! + robocopy "../src/%%g/web_service/conf" "../vas/rest/conf_veremes/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "../src/%%g/web_service/sql" ( + echo copy vas/sql/!x:~7! + robocopy "../src/%%g/web_service/sql" "../vas/sql/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "../src/%%g/web_service/ws" ( + echo copy vas/rest/ws/!x:~7! + robocopy "../src/%%g/web_service/ws" "../vas/rest/ws/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) + if exist "../src/%%g/web_service/class" ( + echo copy vas/rest/class + robocopy "../src/%%g/web_service/class" "../vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np + ) +) + + +cd ..