From d7f7481e9c9e166e3fd540a069bc33a3da0e26b4 Mon Sep 17 00:00:00 2001 From: rldhont Date: Wed, 11 Jan 2017 12:24:28 +0100 Subject: [PATCH] [BUGFIX][Server] Add short names in restricted layer list The restricted layer list contains layer names and layer ids if layer ids are used as service layer name. This code adds layer short name to the restricted layer list if layer ids are not used as service layer name. --- src/server/qgsserverprojectparser.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/server/qgsserverprojectparser.cpp b/src/server/qgsserverprojectparser.cpp index a2d7729e2d71..491f37c74f9b 100644 --- a/src/server/qgsserverprojectparser.cpp +++ b/src/server/qgsserverprojectparser.cpp @@ -1184,6 +1184,27 @@ QSet QgsServerProjectParser::findRestrictedLayers() const } } } + // Add short name in restricted layers + else + { + QDomNodeList layerNodeList = mXMLDoc->elementsByTagName( "maplayer" ); + for ( int i = 0; i < layerNodeList.size(); ++i ) + { + QDomElement layerElem = layerNodeList.at( i ).toElement(); + // get name + QString lName = layerName( layerElem ); + if ( restrictedLayerSet.contains( lName ) ) + { + // get short name + lName = layerShortName( layerElem ); + if ( !lName.isEmpty() ) + { + // add short name + restrictedLayerSet.insert( lName ); + } + } + } + } return restrictedLayerSet; }