diff --git a/.gitignore b/.gitignore index b201326defc22bfcca1646c865320000b1a391ed..2888a3c8e71e8026cde542d92a51120d6441a30b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ -vas/ -client/ -conf/closure -conf/node_modules/ -conf/properties.json -src/closure/conf/depswriter/*.pyc +/vas/ +/client/ +/conf/closure +/conf/node_modules/ +/conf/properties.json +/src/closure/conf/depswriter/*.pyc diff --git a/changelog/2018.04.00/Changelog_2018.04.00.md b/changelog/2018.04.00/Changelog_2018.04.00.md index 24b5879e66cb293cd887e63ebdb1aa1e1e63e443..7e7274a5198aad49ce326c348e80904d069cb3db 100644 --- a/changelog/2018.04.00/Changelog_2018.04.00.md +++ b/changelog/2018.04.00/Changelog_2018.04.00.md @@ -40,26 +40,31 @@ Depuis la version 2018.04.00 il est possible de terminer ses saisies par un doub # Anomalies corrigées -Impossible de supprimer le JavaScript d'un formulaire. - -Un champ de type image objet métier en mode affichage seulement affiche un bouton si aucune image est disponible sur le serveur. - -Intersections cadastrales remontées pour les parcelles limitrophes entre deux communes lors de la génération des rapports. - -Problèmes lors qu'un utilisateur vmap_admin et non vitis_admin va dans le mode configuration. - -La réinitialisation d'un formulaire de filtre dans le module ANC annule les rechargements en cascade du formulaire. - -Module cadastre : en recherche attributaire la sélection reste en mémoire quand on filtre la liste des parcelles. - -Problème d'affichage des fonctions GetFeatureInfo sur mobile. - -Erreurs lors de l'utilisation de flux WMS avec mot de passe dans l'interface d'administration. - -JavaScript non chargé lors de l'affichage d'un sous-formulaire objet métier. - -Problème de cache dans les listes de type grille objet métier. - -Dysfonctionnements avec les champs de type date quand on saisit la date du jour. - -La génération automatique des formulaires objets métiers ne se fait pas si on utilise une base de données autre que celle de vMap. +## 2018.04.00 + +* Impossible de supprimer le JavaScript d'un formulaire. +* Un champ de type image objet métier en mode affichage seulement affiche un bouton si aucune image est disponible sur le serveur. +* Intersections cadastrales remontées pour les parcelles limitrophes entre deux communes lors de la génération des rapports. +* Problèmes lors qu'un utilisateur vmap_admin et non vitis_admin va dans le mode configuration. +* La réinitialisation d'un formulaire de filtre dans le module ANC annule les rechargements en cascade du formulaire. +* Module cadastre : en recherche attributaire la sélection reste en mémoire quand on filtre la liste des parcelles. +* Problème d'affichage des fonctions GetFeatureInfo sur mobile. +* Erreurs lors de l'utilisation de flux WMS avec mot de passe dans l'interface d'administration. +* JavaScript non chargé lors de l'affichage d'un sous-formulaire objet métier. +* Problème de cache dans les listes de type grille objet métier. +* Dysfonctionnements avec les champs de type date quand on saisit la date du jour. +* La génération automatique des formulaires objets métiers ne se fait pas si on utilise une base de données autre que celle de vMap. + +## 2018.04.01 + +* Documentation swagger publictoken non valide +* Mélange des modes affichés pour l'utilisateur public si deux applications sont sur la même base +* Incohérence des properties utilisateur vas_home et database +* Accès à vitis/webservices aux non vitis admin +* Erreur 500 sur vitis/privileges sans droits d'admin +* Erreur 500 suppression utilisateur +* Le paramètre timezone_id de la ressource rest/vitis/users est obligatoire en POST + +## 2018.04.02 + +* Affichage des modèles d'impression par ordre alphabétique diff --git a/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js b/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js index 91a57bf08b978aba916e302d0bbed6393037e661..19adda6cfabf1f34a20541ed40c272173d2da31e 100644 --- a/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js +++ b/src/module_vmap/module/javascript/app/modules/Cadastre/cadastre.js @@ -274,7 +274,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController = function sString = oVmap.checkLink(sString); }else{ sString = oVmap.parseLink(sString, 'link'); - } + } return $sce.trustAsHtml(sString); }; }; @@ -1279,6 +1279,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. templateId: oVmap['properties']['cadastre']["fiche_urb"]['printtemplate_id'], mapId: oVmap['properties']['cadastre']["fiche_urb"]['map_id'], features: [feature], + recalcSize: true, featuresZoom: oVmap['properties']['cadastre']["fiche_urb"]['features_zoom'] }); }; @@ -2628,7 +2629,7 @@ nsVmap.nsToolsManager.nsModules.Cadastre.prototype.cadastreController.prototype. var data = response['data']['data']; - // Ajoute le type de voie + // Ajoute le type de voie for (var i = 0; i < data.length; i++) { if (goog.isDefAndNotNull(data[i]['L_NATURE_VOIE'])) { data[i]['NOM_VOIE'] = data[i]['L_NATURE_VOIE'] + ' ' + data[i]['DVOILIB']; diff --git a/src/module_vmap/module/javascript/app/vmap/tools/print.js b/src/module_vmap/module/javascript/app/vmap/tools/print.js index fd9550a4e7eef6b5fa9a5626cd32bdf50e029173..13e0f6d43a5fb86dd1e0793ff1525a97301051cd 100644 --- a/src/module_vmap/module/javascript/app/vmap/tools/print.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/print.js @@ -243,6 +243,7 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.loadPrintPropert }, 'params': { 'distinct': true, + 'order_by': 'name', 'attributs': 'format|name|orientation|printstyles|printstyle_id|printtemplate_id|variables' }, 'scope': this.$scope_, @@ -444,9 +445,11 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.setTemplate = fu this.$compile_(template)(this.$scope_); this_.template_ = template; - setTimeout(function () { - callback.call(this_, [template]); - }); + if (goog.isDefAndNotNull(callback)) { + setTimeout(function () { + callback.call(this_, [template]); + }); + } } }; @@ -491,6 +494,10 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.getPrintedMapSiz mapHeight = tmpHeight / resizeCoeff; } + setTimeout(function () { + $(template).remove(); + }); + return { printedMapSize: [mapWidth, mapHeight], realSize: [imageDiv.width(), imageDiv.height()], @@ -626,6 +633,7 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.prepareAndLaunch * @param {number|undefined} opt_options.resolutionCoeff * @param {array<ol.Feature>|undefined} opt_options.features feature to zoom on * @param {number|undefined} opt_options.featuresZoom + * @param {boolean|undefined} opt_options.recalcSize true pour recalculer la taille au moment de l'impression (utilisé pour module cadastre) * @returns {number} 1 if all semms good * @export */ @@ -717,6 +725,15 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.print = function var sFormat = response['data']['data'][0]['rt_format_id']; var sOrientation = response['data']['data'][0]['rt_orientation_id']; + // Cas d'utilisation de la fonction print sans passer par le forumlaire + if (opt_options.recalcSize === true) { + this_.setTemplate({ + 'definition': response['data']['data'][0]['definition'] + }); + this_.printedMapSize_ = this_.getPrintedMapSize(this_.template_, '#map1', '#map_image'); + this_.printedOverviewMapSize_ = this_.getPrintedMapSize(this_.template_, '#map1', '#map_overview'); + } + var mapImageSize = this_.printedMapSize_.realSize; var overviewSize = this_.printedOverviewMapSize_.realSize; @@ -788,6 +805,8 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.print = function $.notify('Impression réussie', 'success'); printWindow.location.href = response['data']['printtemplateservices']['image']; + delete this_.printedMapSize_; + delete this_.printedOverviewMapSize_; }, 'error': function (response) { console.error(response); diff --git a/src/vitis/client/templates/mainTpl.html b/src/vitis/client/templates/mainTpl.html index 64706b13a1fc4b77f63c4dc38e0036ede4361aba..3ec425a02127ea5e6698efef4da986ee1d530e87 100755 --- a/src/vitis/client/templates/mainTpl.html +++ b/src/vitis/client/templates/mainTpl.html @@ -27,7 +27,7 @@ </header> <section id="works_line" class="row works_line"> <!-- menu des modes --> - <div id="mode_column_layout" ng-class="{'col-xs-1':!$root.is_mobile, 'hidden':$root.is_mobile, 'hidden':(modes.length === 1 && modes[0].mode_id === 'vmap')}"> + <div id="mode_column_layout" ng-class="{'col-xs-1':!$root.is_mobile, 'hidden':($root.is_mobile) || (modes.length === 1 && modes[0].mode_id === 'vmap')}"> <button type="button" class="row btn button_mode button_mode_top" ng-show="showModeScrollBoutton()" ng-click="scrollMode(-50)"><i class="icon icon-keyboard_arrow_up"></i></button> <nav id="mode_column" class="row mode_column no_bs_padding"> <ul class="list-unstyled"> diff --git a/src/vitis/vas/rest/conf/selected_properties.inc b/src/vitis/vas/rest/conf/selected_properties.inc index a96cc600effcdf4b4754073173563e602a179a53..a93f5fc5e3a2210eae1c6375890ab8ba1fef9e0b 100644 --- a/src/vitis/vas/rest/conf/selected_properties.inc +++ b/src/vitis/vas/rest/conf/selected_properties.inc @@ -109,6 +109,8 @@ $aUserFields = Array( 'services_alias', 'doc_alias', 'ws_data_alias', + 'allow_public_connection', + 'public_token', 'domain', 'domain.*', 'page_encoding', diff --git a/src/vitis/vas/rest/ws/vitis/Modes.class.inc b/src/vitis/vas/rest/ws/vitis/Modes.class.inc index c838ebe1c37627b79b3783a89d8f601904e94653..4aaac5746263a46829e127c76899a297e0e522eb 100644 --- a/src/vitis/vas/rest/ws/vitis/Modes.class.inc +++ b/src/vitis/vas/rest/ws/vitis/Modes.class.inc @@ -9,7 +9,7 @@ * \brief This file contains the Modes php class * * This class defines Rest Api to Vitis modes - * + * */ require_once 'Vitis.class.inc'; require_once __DIR__ . '/../../class/vitis_lib/Connection.class.inc'; @@ -132,8 +132,8 @@ class Modes extends Vitis { function GET() { if ($this->oConnection->oError == null) { if (!empty($this->aProperties["public_token"]) && $this->aProperties["allow_public_connection"] === true){ - if($this->aProperties["public_token"] === $this->aValues['token']){ - $this->aValues["filter"] = '{"relation": "AND","operators":[{"column": "mode_id","compare_operator": "<>","value": "user"}]}'; + if($this->aProperties["public_token"] === $this->aValues['token']) { + $this->aValues["filter"] = $this->getPublicUserFilter(); } } if (isset($this->aValues['action']) && !empty($this->aValues['action'])) { @@ -170,6 +170,34 @@ class Modes extends Vitis { return $sMessage; } + /** + * Get the public user JSON filter + * + * @return {type} string + */ + function getPublicUserFilter(){ + + $aFilter = array( + 'relation' => 'AND', + 'operators' => array() + ); + + // Filtre passé dans l'URL + if (!empty($this->aValues["filter"])) { + $aRequestFilter = json_decode($this->aValues["filter"]); + array_push($aFilter['operators'], $aRequestFilter); + } + + // Filtre public_user + array_push($aFilter['operators'], array( + 'column' => 'mode_id', + 'compare_operator' => '<>', + 'value' => 'user' + )); + + return json_encode($aFilter); + } + /** * @SWG\Put(path="/modes/sorting", * tags={"Modes"}, @@ -235,4 +263,4 @@ class Modes extends Vitis { } -?> \ No newline at end of file +?>