diff --git a/src/module_vmap/module/css/vmap.less b/src/module_vmap/module/css/vmap.less old mode 100755 new mode 100644 index 714bc72f15ff3a92cb4a602b102bb2c16c467255..0afd13f194d292e38f188753422b6b48c5ebab8c --- a/src/module_vmap/module/css/vmap.less +++ b/src/module_vmap/module/css/vmap.less @@ -1482,6 +1482,11 @@ app-layertree button:hover { background-color: transparent; color: @color-text-1; } +.basic-tools-element.inactive, .basic-tools-element.inactive:hover{ + background-color: #838383 !important; + color: #A5A5A5 !important; + cursor : not-allowed !important; +} .basic-tools-element.active{ background-color: @basic-tool-active !important; color: @head-bar !important; diff --git a/src/module_vmap/module/forms/vmap_admin_map/vmap_admin_map_vmap_admin_map.json b/src/module_vmap/module/forms/vmap_admin_map/vmap_admin_map_vmap_admin_map.json old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/forms/vmap_admin_map/vmap_admin_map_vmap_layers.json b/src/module_vmap/module/forms/vmap_admin_map/vmap_admin_map_vmap_layers.json old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/forms/vmap_business_object/vmap_business_object_vmap_business_object.js b/src/module_vmap/module/forms/vmap_business_object/vmap_business_object_vmap_business_object.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/forms/vmap_business_object/vmap_business_object_vmap_business_object.json b/src/module_vmap/module/forms/vmap_business_object/vmap_business_object_vmap_business_object.json old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js b/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js old mode 100755 new mode 100644 index 6ec72c9e6ebdac16b1f70ed5aa52b951067b3216..91a57bf08b978aba916e302d0bbed6393037e661 --- a/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js +++ b/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js @@ -269,7 +269,12 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController = function return oVmap.isLink(sString, 'link'); }; $scope['getRenderedParsedLink'] = function (sString) { - sString = oVmap.parseLink(sString, 'link'); + + if(sString.indexOf('<a') === 0 && sString.indexOf('[') !== 0 ){ + sString = oVmap.checkLink(sString); + }else{ + sString = oVmap.parseLink(sString, 'link'); + } return $sce.trustAsHtml(sString); }; }; diff --git a/src/module_vmap/module/javascript/app/vmap/map/map.js b/src/module_vmap/module/javascript/app/vmap/map/map.js old mode 100755 new mode 100644 index a57f5921057205886fdd9f2069a8b0856dcb529a..7c0ba9a4a13165ccacc01ee5c7584bd9b561101d --- a/src/module_vmap/module/javascript/app/vmap/map/map.js +++ b/src/module_vmap/module/javascript/app/vmap/map/map.js @@ -26,7 +26,7 @@ goog.require('goog.async.AnimationDelay'); * Class {@link nsVmap.Map}: initializes the map * * @constructor - * @export + * @export */ nsVmap.Map = function () { oVmap.log("nsVmap.Map"); @@ -1246,7 +1246,7 @@ nsVmap.Map.prototype.startMobileDraw = function (sGeomType, callback) { var this_ = this; - // Géométrie multiple ? + // Géométrie multiple ? this.mobileDrawMulti_ = false; if (sGeomType.substr(0, 5).toUpperCase() === 'MULTI') { this.mobileDrawMulti_ = true; @@ -1373,11 +1373,11 @@ nsVmap.Map.prototype.getDrawOutput_ = function (aPoints) { return new ol.geom.LineString(aPoints); break; case 'POLYGON': - + // Ajoute la même coord à la fin de la géométrie de manière à boucler le polygone var aTmpPoints = angular.copy(aPoints); aTmpPoints.push(aTmpPoints[0]); - + return new ol.geom.Polygon([aTmpPoints]); break; case 'CIRCLE': @@ -1420,7 +1420,7 @@ nsVmap.Map.prototype.displayDrawTmpFeature_ = function () { nsVmap.Map.prototype.finishMobileDraw = function () { oVmap.log('nsVmap.Map.prototype.finishMobileDraw'); - // Géométrie multiple ? + // Géométrie multiple ? var this_ = this; if (this.mobileDrawMulti_) { bootbox['dialog']({ @@ -1568,7 +1568,7 @@ nsVmap.Map.prototype.redoLastChange = function () { }; /** - * + * * @private */ nsVmap.Map.prototype.getMapMenuScope = function () { @@ -1893,7 +1893,6 @@ nsVmap.Map.prototype.mapController.prototype.emptyLoadErrorsEvents = function () oVmap.log('nsVmap.Map.prototype.emptyLoadErrorsEvents'); for (var i = 0; i < this.loadErrorEventsContainer_.length; i++) { -// this.loadErrorEventsContainer_[i].layer.getSource().unByKey(this.loadErrorEventsContainer_[i].event); ol.Observable.unByKey(this.loadErrorEventsContainer_[i].event); } }; @@ -2372,4 +2371,4 @@ nsVmap.Map.prototype.getLayerById = function (layerId) { // Si aucun layer ne correspondait return null; -}; \ No newline at end of file +}; diff --git a/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js b/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js old mode 100755 new mode 100644 index 137700c86a3f1db8561b5115c035021d32f67fdb..673cb4e0f66ff2e60cc0b2faab5137030da12bb0 --- a/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js +++ b/src/module_vmap/module/javascript/app/vmap/mapmanager/layerstree.js @@ -145,7 +145,11 @@ nsVmap.nsMapManager.LayersTree.prototype.LayertreeController = function ($scope, this['layerstree_collapsed'] = oVmap['properties']['vmap']['layerstree_collapsed']; } - this.loadTree(); + if (goog.isDefAndNotNull(oUrlParams['extent'])){ + var aExtent = decodeURI(oUrlParams['extent']).split("|"); + } + + this.loadTree(aExtent); // Événements sur les couches var keepLoadedTiles = true; @@ -351,9 +355,10 @@ nsVmap.nsMapManager.LayersTree.prototype.LayertreeController.prototype.reloadTre /** * Load layers from the tree + * @param {array|undefined} aExtent exent to fit on * @returns {undefined} */ -nsVmap.nsMapManager.LayersTree.prototype.LayertreeController.prototype.loadTree = function () { +nsVmap.nsMapManager.LayersTree.prototype.LayertreeController.prototype.loadTree = function (aExtent) { oVmap.log('nsVmap.nsMapManager.LayersTree.prototype.LayertreeController.prototype.loadTree'); if (this['map'].getLayers().getArray().length > 0) @@ -413,6 +418,12 @@ nsVmap.nsMapManager.LayersTree.prototype.LayertreeController.prototype.loadTree this.addLayer(olLayers[i]); } + // Va à l'étendue fournie + if (goog.isDefAndNotNull(aExtent)) { + this['map'].getView().fit(aExtent, { + nearest : true + }); + } }; /** diff --git a/src/module_vmap/module/javascript/app/vmap/mapmanager/maplegend.js b/src/module_vmap/module/javascript/app/vmap/mapmanager/maplegend.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmanager.js b/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmanager.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmodal/maplist.js b/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmodal/maplist.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmodal/maplistlitle.js b/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmodal/maplistlitle.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/javascript/app/vmap/tools/basictools.js b/src/module_vmap/module/javascript/app/vmap/tools/basictools.js old mode 100755 new mode 100644 index abf0e9a40f14ad3ad23d146224bed5da175a5ea2..f53955c43cccd66024db099c860b32b003b11aca --- a/src/module_vmap/module/javascript/app/vmap/tools/basictools.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/basictools.js @@ -16,6 +16,7 @@ goog.require('nsVmap.nsToolsManager.Measure'); goog.require('nsVmap.nsToolsManager.Select'); goog.require('nsVmap.nsToolsManager.Insert'); goog.require('nsVmap.nsToolsManager.Print'); +goog.require('nsVmap.nsToolsManager.Urlexporter'); /** @@ -34,6 +35,7 @@ nsVmap.nsToolsManager.BasicTools = function () { this.oInsert_ = new nsVmap.nsToolsManager.Insert(); this.oPrint_ = new nsVmap.nsToolsManager.Print(); this.oControls_ = new nsVmap.nsToolsManager.Controls(); + this.oUrlExporter_ = new nsVmap.nsToolsManager.Urlexporter(); }; /** diff --git a/src/module_vmap/module/javascript/app/vmap/tools/infocontainer.js b/src/module_vmap/module/javascript/app/vmap/tools/infocontainer.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/javascript/app/vmap/tools/insert.js b/src/module_vmap/module/javascript/app/vmap/tools/insert.js index f016afe6dc9a72adc7eb25ad01883ab008009e13..803d13add3e95a2916e129c4eb60e6db3b981b01 100644 --- a/src/module_vmap/module/javascript/app/vmap/tools/insert.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/insert.js @@ -1434,9 +1434,9 @@ nsVmap.nsToolsManager.Insert.prototype.inserttoolController.prototype.getMobileB if (sGeomType === 'GEOMETRY' || sGeomType === 'GEOMETRYCOLLECTION') { bootbox.prompt({ - 'title': "Type de géométrie à insérer", - 'inputType': 'select', - 'inputOptions': [ + title: "Type de géométrie à insérer", + inputType: 'select', + inputOptions: [ { text: 'Point', value: 'POINT' @@ -1454,7 +1454,7 @@ nsVmap.nsToolsManager.Insert.prototype.inserttoolController.prototype.getMobileB value: 'CIRCLE' } ], - 'callback': function (result) { + callback: function (result) { deferred.resolve(result); } }); diff --git a/src/module_vmap/module/javascript/app/vmap/tools/location.js b/src/module_vmap/module/javascript/app/vmap/tools/location.js old mode 100755 new mode 100644 index c4f32bfcacdf8145bcb3f015d28f580d31f4eb34..4cd96440554191c47a0415289ddde0cb77eb6065 --- a/src/module_vmap/module/javascript/app/vmap/tools/location.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/location.js @@ -127,6 +127,23 @@ nsVmap.nsToolsManager.Location.prototype.locationController = function ($scope, */ this['oBusinessObjects'] = []; + /** + * @type {array} + */ + this['aLocationHistory'] = [{ + center: this_.map_.getView().getCenter(), + zoom: this_.map_.getView().getZoom() + }]; + /** + * @type {integer} + */ + this['iHistoryOffset'] = 0; + /** + * @type {integer} + */ + this['iHistoryOffset_save'] = 0; + + /** * @tyle {number} */ @@ -169,8 +186,44 @@ nsVmap.nsToolsManager.Location.prototype.locationController = function ($scope, }); }); + // remplissage de l'historique des étendues + var fHistoryDelayHandler; + this_.map_.on("moveend", function(event){ + if(this_['iHistoryOffset'] === this_['iHistoryOffset_save']){ + //check wait + if (goog.isDefAndNotNull(fHistoryDelayHandler)){ + $timeout.cancel(fHistoryDelayHandler); + } + + fHistoryDelayHandler = $timeout(function () { + if(this_['iHistoryOffset'] === 0){ + this_["aLocationHistory"].push({ + center: this_.map_.getView().getCenter(), + zoom: this_.map_.getView().getZoom() + }); + } else { + // splice + var iHistoryPosition = this_['aLocationHistory'].length - (this_['iHistoryOffset']); + this_["aLocationHistory"].splice(iHistoryPosition, this_['iHistoryOffset'], { + center: this_.map_.getView().getCenter(), + zoom: this_.map_.getView().getZoom() + }); + + this_['iHistoryOffset'] = 0; + } + }, oVmap['properties']['vmap_history_timer']); + } else { + this_['iHistoryOffset_save'] = this_['iHistoryOffset']; + } + }); + // Vide les localisations quand on change de carte oVmap['scope'].$on('mapChanged', function () { + // purge de l'historique des étendues + this_['aLocationHistory'] = [{ + center: this_.map_.getView().getCenter(), + zoom: this_.map_.getView().getZoom() + }]; if (goog.isDef(this_.locationPopup)) { this_.locationPopup.remove(); } @@ -311,6 +364,48 @@ nsVmap.nsToolsManager.Location.prototype.locationController.prototype.goHome = f currentView.setResolution(originalPosition.resolution); }; + +/** + * Go on the previous extent + * @export + */ +nsVmap.nsToolsManager.Location.prototype.locationController.prototype.nextHistoryExtent = function () { + oVmap.log("nsVmap.nsToolsManager.Location.prototype.locationController.nextHistoryExtent"); + + if(this['iHistoryOffset'] > 0){ + this['iHistoryOffset'] -= 1; + this.selectHistoryExtent(); + } +}; + +/** + * Go on the next extent + * @export + */ +nsVmap.nsToolsManager.Location.prototype.locationController.prototype.previousHistoryExtent = function () { + oVmap.log("nsVmap.nsToolsManager.Location.prototype.locationController.previousHistoryExtent"); + + if(this['iHistoryOffset'] < this['aLocationHistory'].length - 1){ + this['iHistoryOffset'] += 1; + this.selectHistoryExtent(); + } +}; + +/** + * Go on the selected extent in history + * @export + */ +nsVmap.nsToolsManager.Location.prototype.locationController.prototype.selectHistoryExtent = function () { + oVmap.log("nsVmap.nsToolsManager.Location.prototype.locationController.selectHistoryExtent"); + + var currentView = oVmap.getMap().getOLMap().getView(); + + var iHistoryPosition = this['aLocationHistory'].length - ( 1 + this['iHistoryOffset']); + + currentView.setCenter(this['aLocationHistory'][iHistoryPosition].center); + currentView.setZoom(this['aLocationHistory'][iHistoryPosition].zoom); +}; + /** * Localise the map on the entry position * @param {string} CoordX html id to the X value diff --git a/src/module_vmap/module/javascript/app/vmap/tools/print.js b/src/module_vmap/module/javascript/app/vmap/tools/print.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/javascript/app/vmap/tools/select/advancedselect.js b/src/module_vmap/module/javascript/app/vmap/tools/select/advancedselect.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/javascript/app/vmap/tools/urlexporter.js b/src/module_vmap/module/javascript/app/vmap/tools/urlexporter.js new file mode 100644 index 0000000000000000000000000000000000000000..85e757f8f70c2bac1538b099482fd06940cec290 --- /dev/null +++ b/src/module_vmap/module/javascript/app/vmap/tools/urlexporter.js @@ -0,0 +1,140 @@ +/* global oVmap, nsVmap, goog, ol, vitisApp */ + +/** + * @author: Anthony Borghi + * @Description: Fichier contenant la classe nsVmap.nsToolsManager.Urlexporter + * cette classe permet à l'utilisateur d'exporter une url pour un autre utilisateur + */ +goog.provide('nsVmap.nsToolsManager.Urlexporter'); + +goog.require('oVmap'); + +/** + * @classdesc + * Class {@link nsVmap.nsToolsManager.VmapUser} + * @constructor + * @export + */ +nsVmap.nsToolsManager.Urlexporter = function () { + oVmap.log('nsVmap.nsToolsManager.Urlexporter'); +}; + + + +/** + * Directive + * @return {angular.Directive} The directive specs. + * @constructor + */ +nsVmap.nsToolsManager.Urlexporter.prototype.urlExporterDirective = function () { + oVmap.log("nsVmap.nsToolsManager.Urlexporter.prototype.urlExporterDirective"); + return { + restrict: 'A', + scope: { + 'map': '=appMap', + 'lang': '=appLang' + }, + controller: 'AppUrlExporterController', + controllerAs: 'ctrl', + bindToController: true, + templateUrl: oVmap['properties']['vmap_folder'] + '/' + 'template/tools/' + (oVmap['properties']['is_mobile'] ? 'urlexporter_mobile.html' : 'urlexporter.html') + }; +}; + +/** + * Controler + * @constructor + * @param {object} $scope + * @returns {undefined} + * @ngInject + */ +nsVmap.nsToolsManager.Urlexporter.prototype.urlExporterController = function ($scope, $q, $element) { + oVmap.log("nsVmap.nsToolsManager.Urlexporter.prototype.urlExporterController"); + + var this_ = this; + + this.$scope_ = $scope; + + /** + * The current properties + */ + this['properties'] = oVmap['properties']; + + /** + * The current token + */ + this['token'] = oVmap['properties']['token']; + + /** + * @type {string} + */ + this["urlToExport"] = ""; + /** + * @type {boolean} + */ + this["usePublicToken"] = false; + + this["urlConstructor"](); + + // Affiche les modales en plein écran pour la version mobile + //if (oVmap['properties']['is_mobile']) { + // $element.find('.modal').on('shown.bs.modal', function () { + // $('.modal-backdrop.fade.in').hide(); + // $('.modal.fade.in').find('.modal-dialog').addClass('mobile-full-modal'); + // }); + //} + + console.log(this['properties']); + + // recalcule l'url quand on change de carte + oVmap['scope'].$on('mapChanged', function () { + this_["urlConstructor"](); + }); + + $scope.$watch("ctrl.usePublicToken", function(){ + this_["urlConstructor"](); + }) + + oVmap.getMap().getOLMap().on("moveend", function(event){ + this_["urlConstructor"](); + }); +}; + +/** + * Display the user form in display mode + * @returns {undefined} + * @export + */ +nsVmap.nsToolsManager.Urlexporter.prototype.urlExporterController.prototype.urlConstructor = function () { + oVmap.log("nsVmap.nsToolsManager.Urlexporter.urlExporterController.urlConstructor"); + + var sUrl = this['properties']['web_server_name'] + "/" + this['properties']['application']; + + if (goog.isDefAndNotNull(this['properties']['environment'])){ + if (this['properties']['environment'] != ""){ + sUrl += "_" + this['properties']['environment']; + } + } + + sUrl += "?"; + + var oMapCatalog = oVmap.getMapManager().getMapCatalog(); + var iMapId = oMapCatalog["maps"][oMapCatalog["usedMap"]]["map_id"]; + + sUrl += "map_id=" + iMapId; + + // si public add token + if (this["usePublicToken"]){ + sUrl += "&token=" + this['properties']['public_token']; + } + + // get extent and add in url + var sExtent = oVmap.getMap().getOLMap().getView().calculateExtent(oVmap.getMap().getOLMap().getSize()).join("|"); + sUrl += "&extent=" + encodeURI(sExtent); + + this["urlToExport"] = sUrl; +}; + +// Définit la directive et le controller +oVmap.module.directive('appUrlExporter', nsVmap.nsToolsManager.Urlexporter.prototype.urlExporterDirective); +oVmap.module.controller('AppUrlExporterController', nsVmap.nsToolsManager.Urlexporter.prototype.urlExporterController); \ No newline at end of file diff --git a/src/module_vmap/module/javascript/app/vmap/vmap.js b/src/module_vmap/module/javascript/app/vmap/vmap.js old mode 100755 new mode 100644 index 3c8347db3ba770d000f86dec38be9c18582361f5..48dbc1bacdb92c117848b877817f120614ccbc71 --- a/src/module_vmap/module/javascript/app/vmap/vmap.js +++ b/src/module_vmap/module/javascript/app/vmap/vmap.js @@ -1174,6 +1174,12 @@ oVmap.isLink = function (item, tagIdentifier) { if (item.indexOf('[' + tagIdentifier) !== -1 && item.indexOf('[/' + tagIdentifier + ']') !== -1) { return true; } + + if (item.indexOf('<a') !== -1 && item.indexOf('</a>') !== -1) { + return true; + } + + return false; }; @@ -1211,18 +1217,53 @@ oVmap.parseLink = function (sString, tagIdentifier) { } }; +/** + * Parse a link and extract only good tags ex: <a href="https://www.google.fr" target="_blank">Lien</a> + * @param {String} sString + * @returns {String} + * @export + */ +oVmap.checkLink = function(sString){ + if (!goog.isDefAndNotNull(sString)) { + return ''; + } + if (!goog.isString(sString)) { + return ''; + } + var sLink = sString.substr(sString.indexOf('<a'), sString.indexOf('</a>') - sString.indexOf('<a') + 10); + var sLinkFirstTag = oVmap.getFirstLinkTag_(sLink, '>'); + var sLinkContent = oVmap.getLinkContent_(sLink, sLinkFirstTag, '</a>'); + var oLinkArgs = oVmap.getLinkTagArguments_(sLinkFirstTag); + // extract only required tags (href and target) + var sHref = goog.isDefAndNotNull(oLinkArgs['href']) ? oLinkArgs['href'] : null; + var sTarget = goog.isDefAndNotNull(oLinkArgs['target']) ? oLinkArgs['target'] : '_blank'; + var sContent = sLinkContent.length > 0 ? sLinkContent : sHref; + + if (goog.isDefAndNotNull(sHref)) { + var sLink = '<a href="' + sHref + '" target="' + sTarget + '">' + sContent + '</a>'; + return sLink; + } else { + console.error('cannot parse href'); + // return empty string to avoid Javascript injection + return ""; + } +} + + /** * Get the first tag * @param {String} sLink * @returns {String} */ -oVmap.getFirstLinkTag_ = function (sLink) { +oVmap.getFirstLinkTag_ = function (sLink, sLinkTagToFind) { var quoteIndex1 = null; var quoteIndex2 = null; var bInArgument = false; var sLinkFirstTag = ''; + sLinkTagToFind = (goog.isDefAndNotNull(sLinkTagToFind)) ? sLinkTagToFind : ']'; + for (var i = 0; i < sLink.length; i++) { sLinkFirstTag += sLink[i]; if (sLink[i] === '"') { @@ -1252,7 +1293,7 @@ oVmap.getFirstLinkTag_ = function (sLink) { } } - if (!bInArgument && sLink[i] === ']') { + if (!bInArgument && sLink[i] === sLinkTagToFind) { break; } } diff --git a/src/module_vmap/module/javascript/vitis/script_module.js b/src/module_vmap/module/javascript/vitis/script_module.js old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/lang/lang-en.json b/src/module_vmap/module/lang/lang-en.json old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/lang/lang-fr.json b/src/module_vmap/module/lang/lang-fr.json old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/layers/layertree.html b/src/module_vmap/module/template/layers/layertree.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/layers/mapmodal/maplist.html b/src/module_vmap/module/template/layers/mapmodal/maplist.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/layers/mapmodal/maplistlitle.html b/src/module_vmap/module/template/layers/mapmodal/maplistlitle.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/modules/cadastre.html b/src/module_vmap/module/template/modules/cadastre.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/tools/basicselect.html b/src/module_vmap/module/template/tools/basicselect.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/tools/basictools.html b/src/module_vmap/module/template/tools/basictools.html old mode 100755 new mode 100644 index 5dc8dd2abc9080cf667aed84e571434ee4aa44db..e85c74762d60d92d19a6b560d5811b7a178fad98 --- a/src/module_vmap/module/template/tools/basictools.html +++ b/src/module_vmap/module/template/tools/basictools.html @@ -4,6 +4,21 @@ <ul class="nav nav-pills basic-tools-nav"> <!-- Outils de localisation --> <div app-location app-lang="ctrl.lang" app-map="ctrl.map"></div> + <!-- Outil d'export d'url --> + <div> + <li role="presentation" style="position: inherit" class="basic-tools-dropdown"> + <a class="basic-tools-element pointer" + title="Générateur d'URL" + onclick="oVmap.getToolsManager().getBasicTools().toggleTool(this)"> + <span class="icon-at" aria-hidden="true"></span> + </a> + <div app-url-exporter app-lang="ctrl.lang" app-map="ctrl.map" + id="basic-tools-dropdown-urlexporter" + class="dropdown-menu basic-tools-dropdown-element" + style="margin: -10px -1px; width: 30%;"> + </div> + </li> + </div> <!-- Login de l'utilisateur --> <div class="right"> <li role="presentation" style="position: inherit" class="basic-tools-dropdown"> diff --git a/src/module_vmap/module/template/tools/infocontainer.html b/src/module_vmap/module/template/tools/infocontainer.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/tools/insert.html b/src/module_vmap/module/template/tools/insert.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/tools/location.html b/src/module_vmap/module/template/tools/location.html old mode 100755 new mode 100644 index 61a41368e0276418c34a60f737c9dc78fad69e3f..a9f3e9bca3288fb5fc5a32a7d83eb4dec5ce8667 --- a/src/module_vmap/module/template/tools/location.html +++ b/src/module_vmap/module/template/tools/location.html @@ -168,6 +168,22 @@ </div> </li> +<!--Previous history--> +<li role="presentation"> + <a class="basic-tools-element pointer" title="Aller à l'étendue précédente" + ng-click="ctrl.previousHistoryExtent()" ng-class="{'inactive' : ctrl.iHistoryOffset >= ctrl.aLocationHistory.length - 1}"> + <span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span> + </a> +</li> + +<!--Next history--> +<li role="presentation"> + <a class="basic-tools-element pointer" title="Aller à l'étendue suivante" + ng-click="ctrl.nextHistoryExtent()" ng-class="{'inactive' : ctrl.iHistoryOffset === 0}"> + <span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span> + </a> +</li> + <!-- Modal --> <div id="scale-modal" class="modal fade" role="dialog"> <div class="modal-dialog"> diff --git a/src/module_vmap/module/template/tools/print.html b/src/module_vmap/module/template/tools/print.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/tools/select.html b/src/module_vmap/module/template/tools/select.html old mode 100755 new mode 100644 diff --git a/src/module_vmap/module/template/tools/urlexporter.html b/src/module_vmap/module/template/tools/urlexporter.html new file mode 100644 index 0000000000000000000000000000000000000000..8219c05115135bb301def37dcd88452878d5a06b --- /dev/null +++ b/src/module_vmap/module/template/tools/urlexporter.html @@ -0,0 +1,11 @@ +<!--UrlExporter--> +<div class="row margin-sides-0 margin-10"> + <div class="col-md-3" ng-show="ctrl.properties.allow_public_connection"> + <input type="checkbox" ng-model="ctrl.usePublicToken" id="publicAccountCheckbox"> + <label for="publicAccountCheckbox" class="control-label">Public</label> + </div> + <div class="" ng-class="{'col-md-9' : ctrl.properties.allow_public_connection, 'col-md-12': !ctrl.properties.allow_public_connection}"> + <label for="urlExporterField" class="control-label">URL</label> + <input type="text" class="form-control" ng-model="ctrl.urlToExport" id="urlExporterField"> + </div> +</div> \ No newline at end of file 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/conf/properties_server.inc b/src/module_vmap/web_service/conf/properties_server.inc old mode 100755 new mode 100644 index 67e38fad198a4c2fd649838ddc0f41469a4e949d..5daa05566dab4546372c352ed9b8dba1d965ac3b --- a/src/module_vmap/web_service/conf/properties_server.inc +++ b/src/module_vmap/web_service/conf/properties_server.inc @@ -14,4 +14,5 @@ $properties['vmap_log_dir'] = "{$properties['vas_home']}/log/vmap"; $properties['vmap_map_log_file'] = $properties['vmap_log_dir'] . '/map/' . date($properties["log_period"]) . '/map.log'; $properties['vmap_geocoders'] = '{"osm":{"title":"OpenStreetMap","url":"https://nominatim.openstreetmap.org/search?format=json&addressdetails=1&limit=[limit]&extratags=1&namedetails=1&polygon_geojson=1&countrycodes=fr&q=[search]","data_field":"data","title_field":"display_name","geojson_field":"geojson","summary_fields":[{"key":"address.country","label":"Pays"},{"key":"address.state","label":"Région"},{"key":"address.postcode","label":"Code postal"},{"key":"extratags.population","label":"Population"}]},"national_adresse":{"title":"Base nationale","url":"https://api-adresse.data.gouv.fr/search/?q=[search]&limit=[limit]","data_field":"data.features","title_field":"properties.label","geojson_field":"geometry","summary_fields":[{"key":"properties.context","label":"Département"},{"key":"properties.city","label":"Ville"},{"key":"properties.postcode","label":"Code postal"}]}}'; $properties['vmap_default_geocoders'] = 'osm'; +$properties['vmap_history_timer'] = 0; ?> diff --git a/src/module_vmap/web_service/conf/selected_properties.inc b/src/module_vmap/web_service/conf/selected_properties.inc old mode 100755 new mode 100644 index 1de10c2e7f175febd5ce29d638d9fd08c252e42b..51094a4a35be058e5f8ebbbbce0e2d02330c0f6c --- a/src/module_vmap/web_service/conf/selected_properties.inc +++ b/src/module_vmap/web_service/conf/selected_properties.inc @@ -18,7 +18,8 @@ $aAdminFields = Array( 'vmap_geocoders', 'vmap_default_geocoders', 'use_proxy_for_tiles', - 'vmap_export.*' + 'vmap_export.*', + 'vmap_history_timer' ); $aUserFields = Array( 'phantomjs_root_path', @@ -36,7 +37,8 @@ $aUserFields = Array( 'vmap_geocoders', 'vmap_default_geocoders', 'use_proxy_for_tiles', - 'vmap_export.*' + 'vmap_export.*', + 'vmap_history_timer' ); $properties['aAdminFields'] = array_merge($properties['aAdminFields'], $aAdminFields); diff --git a/src/module_vmap/web_service/ws/BusinessObject.class.inc b/src/module_vmap/web_service/ws/BusinessObject.class.inc old mode 100755 new mode 100644 diff --git a/src/module_vmap/web_service/ws/BusinessObjects.class.inc b/src/module_vmap/web_service/ws/BusinessObjects.class.inc old mode 100644 new mode 100755 index 4ab16f4a001f76972011d6380c98d23dbc380793..413f93e43ebbc728cbc4600f84d2cc8d85d05249 --- a/src/module_vmap/web_service/ws/BusinessObjects.class.inc +++ b/src/module_vmap/web_service/ws/BusinessObjects.class.inc @@ -786,15 +786,6 @@ class BusinessObjects extends Vmap { $bo_id_field = $oBusinessObject->aFields['id_field']; $geom_column = $oBusinessObject->aFields['geom_column']; - $oVitisBase = $this->oConnection->oBd; - - // Connexion à la base de donées - if (!empty($bo_database) && $bo_database != $this->oConnection->oBd->base) { - $sLogin = $this->oConnection->oBd->login; - $sPassword = $this->oConnection->oBd->mdp; - $this->oConnection->oBd = new Vm($sLogin, $sPassword, $bo_database, $this->oConnection->oBd->serveur, $this->oConnection->oBd->port, $this->oConnection->oBd->sgbd, $this->oConnection->oBd->sPageEncoding); - } - $oForm = new Form($this->aProperties, $this->oConnection); $aTableColumns = $oForm->getTableColumns($bo_schema, $bo_table); @@ -836,8 +827,6 @@ class BusinessObjects extends Vmap { fclose($formFile); } - $this->oConnection->oBd = $oVitisBase; - return $JSONcontent; } diff --git a/src/module_vmap/web_service/ws/Layers.class.inc b/src/module_vmap/web_service/ws/Layers.class.inc old mode 100755 new mode 100644 diff --git a/src/module_vmap/web_service/ws/Querys.class.inc b/src/module_vmap/web_service/ws/Querys.class.inc old mode 100755 new mode 100644 diff --git a/src/module_vmap/web_service/ws/UserModules.class.inc b/src/module_vmap/web_service/ws/UserModules.class.inc old mode 100755 new mode 100644 diff --git a/src/module_vmap/web_service/ws/UserPrintStyles.class.inc b/src/module_vmap/web_service/ws/UserPrintStyles.class.inc old mode 100755 new mode 100644 diff --git a/src/module_vmap/web_service/ws/UserPrintTemplates.class.inc b/src/module_vmap/web_service/ws/UserPrintTemplates.class.inc old mode 100755 new mode 100644 diff --git a/src/module_vmap/web_service/ws/VexExport.class.inc b/src/module_vmap/web_service/ws/VexExport.class.inc old mode 100755 new mode 100644