mirror of
https://github.com/qgis/QGIS.git
synced 2025-11-09 00:17:27 -05:00
Merge pull request #6251 from elpaso/bugfix-17975-server-layer-groups-order
[bugfix][server] WMS respect order of grouped layers
This commit is contained in:
commit
7bf0a7f714
@ -2612,7 +2612,7 @@ namespace QgsWms
|
|||||||
{
|
{
|
||||||
layer->readSld( namedElem, err );
|
layer->readSld( namedElem, err );
|
||||||
layer->setCustomProperty( "readSLD", true );
|
layer->setCustomProperty( "readSLD", true );
|
||||||
layers.append( layer );
|
layers.insert( 0, layer );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2676,7 +2676,7 @@ namespace QgsWms
|
|||||||
throw QgsMapServiceException( QStringLiteral( "StyleNotDefined" ), QStringLiteral( "Style \"%1\" does not exist for layer \"%2\"" ).arg( style, layerNickname( *layer ) ) );
|
throw QgsMapServiceException( QStringLiteral( "StyleNotDefined" ), QStringLiteral( "Style \"%1\" does not exist for layer \"%2\"" ).arg( style, layerNickname( *layer ) ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
layers.append( layer );
|
layers.insert( 0, layer );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -890,12 +890,15 @@ class TestQgsServerWMSGetMap(QgsServerTestBase):
|
|||||||
self._img_diff_error(r, h, "WMS_GetMap_SLDRestored")
|
self._img_diff_error(r, h, "WMS_GetMap_SLDRestored")
|
||||||
|
|
||||||
def test_wms_getmap_group(self):
|
def test_wms_getmap_group(self):
|
||||||
|
"""A WMS shall render the requested layers by drawing the leftmost in the list
|
||||||
|
bottommost, the next one over that, and so on."""
|
||||||
|
|
||||||
qs = "?" + "&".join(["%s=%s" % i for i in list({
|
qs = "?" + "&".join(["%s=%s" % i for i in list({
|
||||||
"MAP": urllib.parse.quote(self.projectGroupsPath),
|
"MAP": urllib.parse.quote(self.projectGroupsPath),
|
||||||
"SERVICE": "WMS",
|
"SERVICE": "WMS",
|
||||||
"VERSION": "1.1.1",
|
"VERSION": "1.1.1",
|
||||||
"REQUEST": "GetMap",
|
"REQUEST": "GetMap",
|
||||||
"LAYERS": "Country,Country_Labels,Country_Diagrams",
|
"LAYERS": "Country_Diagrams,Country_Labels,Country",
|
||||||
"STYLES": "",
|
"STYLES": "",
|
||||||
"FORMAT": "image/png",
|
"FORMAT": "image/png",
|
||||||
"BBOX": "-16817707,-4710778,5696513,14587125",
|
"BBOX": "-16817707,-4710778,5696513,14587125",
|
||||||
@ -921,6 +924,16 @@ class TestQgsServerWMSGetMap(QgsServerTestBase):
|
|||||||
}.items())])
|
}.items())])
|
||||||
|
|
||||||
r_group, _ = self._result(self._execute_request(qs))
|
r_group, _ = self._result(self._execute_request(qs))
|
||||||
|
|
||||||
|
""" Debug check:
|
||||||
|
f = open('grouped.png', 'wb+')
|
||||||
|
f.write(r_group)
|
||||||
|
f.close()
|
||||||
|
f = open('individual.png', 'wb+')
|
||||||
|
f.write(r_individual)
|
||||||
|
f.close()
|
||||||
|
#"""
|
||||||
|
|
||||||
self.assertEqual(r_individual, r_group, 'Individual layers query and group layers query results should be identical')
|
self.assertEqual(r_individual, r_group, 'Individual layers query and group layers query results should be identical')
|
||||||
|
|
||||||
qs = "?" + "&".join(["%s=%s" % i for i in list({
|
qs = "?" + "&".join(["%s=%s" % i for i in list({
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user