From 4b44e6b9fc71cb44db33820f22661679d7ed1018 Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Tue, 30 Oct 2018 17:31:20 +0100 Subject: [PATCH] Squashed 'src/vitis/' changes from 12a22d70..4398b26d 4398b26d Merge branch 'bug/4-formreader-champs-date-non-pris-en-compte-si-on-met-la-date-du-jour-en-insertion' into 'master' d17933b9 Edit datetime picker event b3b6ec06 Merge branch '1-js-sous-formulaire' into 'master' 41a15530 Load BO Javascript on subforms e3923b17 Merge branch 'feature/impressions_144dpi' into 'master' 38bafafa Increase the WMS symbols size to match resolution 35163699 Merge branch 'hotfix/swagger_doc' into 'master' 275422b6 Make swagger work for dev installs ee4da38b Add gitignore f53e707d Merge branch 'master' of gitlab.veremes.net:Development/vitis_apps/sources/vitis 6c984bed Add client/vas dependencies git-subtree-dir: src/vitis git-subtree-split: 4398b26d4ab4082f226a08bea5e3d581bb18e730 --- .gitignore | 6 ++ _install/client/fileToDelete.txt | 4 ++ _install/client/folderToDelete.txt | 8 +++ _install/client/listModuleApache.txt | 5 ++ _install/vas/apache.conf | 70 +++++++++++++++++++ _install/vas/listModuleApache.txt | 16 +++++ .../externs/formReader/formReaderDrtv.js | 12 +++- .../externs/formReader/formReaderSrvc.js | 30 +++++++- vas/doc/index.phtml | 12 ++-- vas/doc/swagger.php | 5 +- vas/rest/index.phtml | 4 +- vas/util/printserver/client/map/map.js | 34 +++++++-- 12 files changed, 186 insertions(+), 20 deletions(-) create mode 100644 _install/client/fileToDelete.txt create mode 100644 _install/client/folderToDelete.txt create mode 100644 _install/client/listModuleApache.txt create mode 100644 _install/vas/apache.conf create mode 100644 _install/vas/listModuleApache.txt diff --git a/.gitignore b/.gitignore index e69de29b..fb23a1f3 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,6 @@ +vas/rest/class/* +vas/rest/class/!*/ +vas/rest/class/!*.* +vas/sql/* +vas/sql/!*/ +vas/sql/!*.* diff --git a/_install/client/fileToDelete.txt b/_install/client/fileToDelete.txt new file mode 100644 index 00000000..ca3a9114 --- /dev/null +++ b/_install/client/fileToDelete.txt @@ -0,0 +1,4 @@ +javascript/externs/formreader/formreader.js +javascript/externs/formreader/formreaderCtrl.js +javascript/externs/formreader/formreaderDrtv.js +javascript/externs/formreader/formreaderSrvc.js \ No newline at end of file diff --git a/_install/client/folderToDelete.txt b/_install/client/folderToDelete.txt new file mode 100644 index 00000000..a0e7984d --- /dev/null +++ b/_install/client/folderToDelete.txt @@ -0,0 +1,8 @@ +javascript/app +javascript/require +javascript/test +javascript/externs/openLayers/ol +javascript/externs/openLayers/ol.ext +javascript/externs/studio/properties +javascript/externs/studio/javascript +modules/vitis/javascript \ No newline at end of file diff --git a/_install/client/listModuleApache.txt b/_install/client/listModuleApache.txt new file mode 100644 index 00000000..2c0309e3 --- /dev/null +++ b/_install/client/listModuleApache.txt @@ -0,0 +1,5 @@ +alias +deflate +headers +rewrite +ssl \ No newline at end of file diff --git a/_install/vas/apache.conf b/_install/vas/apache.conf new file mode 100644 index 00000000..2281b2e2 --- /dev/null +++ b/_install/vas/apache.conf @@ -0,0 +1,70 @@ +PassEnv TEMP +Alias /rest[ENV] "[VASDIRECTORY]/rest" + <Directory "[VASDIRECTORY]/rest"> + <FilesMatch ".+\.ph(p[345]?|t|tml)$"> + SetHandler application/x-httpd-php_vitis[ENV] + </FilesMatch> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|log|inc|php)$"> + Order allow,deny + Deny from all + </Files> + </Directory> + +Alias /doc[ENV] "[VASDIRECTORY]/doc" + <Directory "[VASDIRECTORY]/doc"> + <FilesMatch ".+\.ph(p[345]?|t|tml)$"> + SetHandler application/x-httpd-php_vitis[ENV] + </FilesMatch> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + </Directory> + +Alias /public[ENV] "[VASDIRECTORY]/public" + <Directory "[VASDIRECTORY]/public"> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|inc|php)$"> + Order allow,deny + Deny from all + </Files> + SetHandler application/x-download + </Directory> +Alias /ws_data[ENV] "[VASDIRECTORY]/ws_data" + <Directory "[VASDIRECTORY]/ws_data"> + AllowOverride All + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|log|inc|php)$"> + Order allow,deny + Deny from all + </Files> + SetHandler application/x-download + </Directory> +Alias /proxy[ENV] "[VASDIRECTORY]/util/proxy" + <Directory "[VASDIRECTORY]/util/proxy"> + <FilesMatch ".+\.ph(p[345]?|t|tml)$"> + SetHandler application/x-httpd-php_vitis[ENV] + </FilesMatch> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|log|inc)$"> + Order allow,deny + Deny from all + </Files> + </Directory> +Alias /printserver[ENV] "[VASDIRECTORY]/util/printserver" + <Directory "[VASDIRECTORY]/util/printserver"> + AllowOverride FileInfo + Options FollowSymLinks + Require all granted + <Files ~ "\.(map|log|inc|php)$"> + Order allow,deny + Deny from all + </Files> + </Directory> \ No newline at end of file diff --git a/_install/vas/listModuleApache.txt b/_install/vas/listModuleApache.txt new file mode 100644 index 00000000..c2626d94 --- /dev/null +++ b/_install/vas/listModuleApache.txt @@ -0,0 +1,16 @@ +actions +alias +cgi +deflate +headers +ldap +rewrite +ssl +proxy +proxy_ajp +proxy_connect +proxy_fcgi +proxy_ftp +proxy_http +proxy_scgi +proxy_wstunnel \ No newline at end of file diff --git a/client/javascript/externs/formReader/formReaderDrtv.js b/client/javascript/externs/formReader/formReaderDrtv.js index 283bbc43..48e7a37a 100644 --- a/client/javascript/externs/formReader/formReaderDrtv.js +++ b/client/javascript/externs/formReader/formReaderDrtv.js @@ -176,6 +176,8 @@ formReader.formReaderDirective = function ($q, formReaderService, propertiesSrvc } }); }); + } else { + console.error('Error: form not valid'); } }; @@ -711,6 +713,9 @@ formReader.appFormFieldSpecificParamsDrtv = function ($timeout, $translate, prop $(element)["datetimepicker"](oOptions); // Si sélection d'une date : mise à jour du modèle (NE PAS SUPPRIMER!). + $(element).on("dp.hide", function (e) { + scope["oFormValues"][scope["sFormDefinitionName"]][element[0].name] = element[0].value; + }); $(element).on("dp.change", function (e) { scope["oFormValues"][scope["sFormDefinitionName"]][element[0].name] = element[0].value; }); @@ -2151,8 +2156,8 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, // Récupère lélément en sélectionné formReaderService['getWebServiceData'](oFormWebService).then(function (aResult) { - var oSubformDefinition = aResult[0]['bo_json_form']; + var sSubformJSDefinition = aResult[0]['bo_json_form_js']; var oSubformValues = {}; var sModalId = 'formreader_' + scope['sFormUniqueName'] + '_grid_subform_modal'; @@ -2219,7 +2224,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, } }); - formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues); + formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues, sSubformJSDefinition); }); }; @@ -2247,6 +2252,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, }; var sModalId = 'formreader_' + scope['sFormUniqueName'] + '_grid_subform_modal'; var oSubformDefinition = oBusinessObject['json_form'][0]; + var sSubformJSDefinition = oBusinessObject['json_form_js']; var sSubformDefinitionName = 'insert'; // Grise le champ contenant la valeur du parent @@ -2288,7 +2294,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, }); }); }; - formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues); + formReaderService['showModalSubform'](sModalId, oSubformScope, oSubformDefinition, sSubformDefinitionName, oSubformValues, sSubformJSDefinition); }; /** diff --git a/client/javascript/externs/formReader/formReaderSrvc.js b/client/javascript/externs/formReader/formReaderSrvc.js index 6ca6ef29..613652f9 100644 --- a/client/javascript/externs/formReader/formReaderSrvc.js +++ b/client/javascript/externs/formReader/formReaderSrvc.js @@ -1230,15 +1230,15 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time * @param {object} oSubformDefinition * @param {object} oSubformDefinitionName * @param {object} oSubformValues + * @param {string|null} sSubformJSDefinition */ - "showModalSubform": function (sModalId, oSubformScope, oSubformDefinition, oSubformDefinitionName, oSubformValues) { + "showModalSubform": function (sModalId, oSubformScope, oSubformDefinition, oSubformDefinitionName, oSubformValues, sSubformJSDefinition) { $log.log("showModalSubform"); var sToken = this['sToken']; var oProperties = this['oProperties']; - if (goog.isDefAndNotNull(oSubformScope['loadSubForm'])) { - + var loadForm = function(){ oSubformScope['loadSubForm']({ 'sFormDefinitionName': oSubformDefinitionName, 'oFormDefinition': oSubformDefinition, @@ -1246,6 +1246,30 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time 'oProperties': oProperties, 'sToken': sToken }); + } + + if (goog.isDefAndNotNull(oSubformScope['loadSubForm'])) { + + if (goog.isDefAndNotNull(sSubformJSDefinition)) { + var sUrl = sSubformJSDefinition; + oVmap.log("initHtmlForm : javascript assoc. to : " + sUrl); + loadExternalJs([sUrl], { + "callback": function () { + loadForm(); + try { + if (goog.isDef(constructor_form)) { + constructor_form(oSubformScope, sUrl); + } + } catch (e) { + oVmap.log("constructor_form does not exist"); + } + }, + "async": true, + "scriptInBody": true + }); + } else { + loadForm(); + } $('#' + sModalId).modal('show'); } diff --git a/vas/doc/index.phtml b/vas/doc/index.phtml index 086cb768..d4fedf02 100755 --- a/vas/doc/index.phtml +++ b/vas/doc/index.phtml @@ -1,6 +1,9 @@ <?php session_start(); -require_once '../rest/conf/properties.inc'; + +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; + +require_once $_SERVER['VAS_PATH'] . '/rest/conf/properties.inc'; function returnOverview($sFolder, $parent) { $aModules = array(); @@ -17,10 +20,12 @@ function returnOverview($sFolder, $parent) { } } } + return $aModules; } -$aOverview = returnOverview(__DIR__ . "/../rest/ws", ""); +$aOverview = returnOverview($_SERVER['VAS_PATH'] . "/rest/ws", ""); +error_log('$aOverview: '. print_r($aOverview, true)); ?> <!DOCTYPE html> @@ -59,7 +64,7 @@ $aOverview = returnOverview(__DIR__ . "/../rest/ws", ""); sToken = json.PrivateToken.token; } else { sToken = code[0].outerText.split('<token>')[1].split('</token>')[0]; - } + } if (sToken != "") { $("input[name='token']").each(function () { $(this).attr("value", sToken); @@ -154,4 +159,3 @@ foreach ($aOverview as $key => $value) { </div> </body> </html> - diff --git a/vas/doc/swagger.php b/vas/doc/swagger.php index 3437171a..aca8acff 100755 --- a/vas/doc/swagger.php +++ b/vas/doc/swagger.php @@ -1,8 +1,9 @@ <?php +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; header('Content-Type: application/json'); -require_once "../rest/conf/properties.inc"; +require_once $_SERVER['VAS_PATH'] . "/rest/conf/properties.inc"; require("vendor/autoload.php"); -$swagger = \Swagger\scan('../rest/ws/'.$_REQUEST['service']); +$swagger = \Swagger\scan($_SERVER['VAS_PATH'] . '/rest/ws/'.$_REQUEST['service']); $aServer = explode("://", $properties["web_server_name"]); $swagger = str_replace("[service_alias]", $properties["services_alias"], $swagger); $swagger = str_replace("[protocol]", $aServer[0], $swagger); diff --git a/vas/rest/index.phtml b/vas/rest/index.phtml index 86af3b21..d4b4cffa 100755 --- a/vas/rest/index.phtml +++ b/vas/rest/index.phtml @@ -1,5 +1,7 @@ <?php +$_SERVER['VAS_PATH'] = pathinfo(dirname($_SERVER['SCRIPT_FILENAME']))['dirname']; + require_once("class/vitis_lib/VitisError.class.inc"); require_once("class/vmlib/cryptUtil.inc"); require_once("conf/properties.inc"); @@ -199,4 +201,4 @@ function customErrorHandler ($errno, $errstr, $errfile, $errline, $context){ } include ("index.vhtml"); -?> \ No newline at end of file +?> diff --git a/vas/util/printserver/client/map/map.js b/vas/util/printserver/client/map/map.js index 2a870d9a..d6dcd882 100755 --- a/vas/util/printserver/client/map/map.js +++ b/vas/util/printserver/client/map/map.js @@ -7,7 +7,7 @@ PrintMap = function (opt_options) { var this_ = this; - + this.mapSize = [document.getElementById('map').offsetWidth, document.getElementById('map').offsetHeight]; this.tileSize = (isDef(window.oProperties.print.tile_size) && window.oProperties.print.features_zoom >= 0) ? window.oProperties.print.tile_size : 2048; @@ -29,7 +29,7 @@ PrintMap = function (opt_options) { this.mapJsonParser = new MapJSON({ 'properties': window.oProperties }); - + this.view = this.mapJsonParser.getViewFromDef(this.mapDefinition, { 'size': this.mapSize, 'tileSize': [this.tileSize, this.tileSize] @@ -39,13 +39,13 @@ PrintMap = function (opt_options) { this.extent = this.getExtent(opt_options); - this.tileGrid = this.getTileGridFromDefinition(this.tileSize); - + this.tileGrid = this.getTileGridFromDefinition(this.tileSize); + this.layers = this.mapJsonParser.getLayersFromDef(this.mapDefinition, { 'size': this.mapSize, 'tileSize': [this.tileSize, this.tileSize] }); - + this.map = this.setMap(this.layers, this.view); this.featuresOverlay = this.setFeaturesOverlay(this.map); @@ -63,6 +63,9 @@ PrintMap = function (opt_options) { // Supprime tous les controls par défaut this.removeMapControls(); + // Taille des icones en fonction de la résolution demandée + this.setMapSymbolsResolution(this.map, this.resolutionCoeff) + // Si aucune étendue a été donnée et que seul un point a été donné, alors zoom sur this.defaultScale if (!isDef(opt_options.extent) && !isDef(this.features)) { if (this.features.length === 1 && this.features[0].getGeometry().getType() === 'Point') { @@ -310,7 +313,7 @@ PrintMap.prototype.getFeaturesFromEWKT = function (aEWKTFeatures) { }; /** - * Return true if EWKTGeom is an EWKT geometry + * Return true if EWKTGeom is an EWKT geometry * @param {string} EWKTGeom * @returns {boolean} */ @@ -367,4 +370,21 @@ PrintMap.prototype.getGeomFromEWKT = function (EWKTGeom, proj) { return null; } -}; \ No newline at end of file +}; + +/** + * For WMS layers set MAP.RESOLUTION and MAP.DEFRESOLUTION to rise the symbols size + * + * @param {object} olMap + * @param {integer} resolutionCoeff + */ +PrintMap.prototype.setMapSymbolsResolution = function (olMap, resolutionCoeff) { + + var newRes = resolutionCoeff * 72; + var aLayers = olMap.getLayers().getArray(); + for (var i = 0; i < aLayers.length; i++) { + if (aLayers[i].get('type') === 'imagewms' || aLayers[i].get('type') === 'tilewms') { + aLayers[i].getSource().updateParams({'MAP.RESOLUTION': newRes, 'MAP.DEFRESOLUTION': 72}); + } + } +} -- GitLab