Skip to content

Commit 1cf0b71

Browse files
authored
Fixes #711 (#712)
1 parent 464b7b3 commit 1cf0b71

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

mapstore2_adapter/plugins/geonode.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -140,24 +140,31 @@ def convert(self, viewer, request):
140140
ms2_map_data = json.loads(ms2_map_data)
141141
data = ms2_map_data
142142
backgrounds = self.getBackgrounds(data, MAP_BASELAYERS)
143+
viewerobj_layers = {}
144+
for maplayer in viewer_obj['map']['layers']:
145+
viewerobj_layers[maplayer['name']] = maplayer
143146
map_layers = []
144147
if backgrounds:
145148
map_layers.extend(backgrounds)
146149
for layer in data['map']['layers']:
147150
if 'group' in layer and layer['group'] == "background":
148151
continue
149152
else:
150-
layer['featureInfo'] = self.get_layer_featureinfotemplate(layer)
151-
map_layers.append(layer)
153+
# we want to calculate the featuretemplate from updated getfeatureinfo config
154+
# and not from the blob stored in the MapStoreResource entry
155+
layer_ = viewerobj_layers.get(layer['name'])
156+
if layer_:
157+
layer['featureInfo'] = self.get_layer_featureinfotemplate(layer_)
158+
map_layers.append(layer)
152159
# the dynamic layer has already been processed by GeoNode upstream views
153160
# but we can't tell if it was the one from GET params or not, so we parse it again
154161
layer_name = request.GET.get('layer_name')
155162
if layer_name:
156-
for lyr in viewer_obj['map']['layers']:
157-
if lyr['name'] == layer_name:
158-
layer_from_request = self.get_overlay(viewer_obj, lyr, get_wfs_endpoint(request))
159-
if layer_from_request:
160-
map_layers.append(layer_from_request)
163+
lyr = viewerobj_layers.get(layer_name)
164+
if lyr:
165+
layer_from_request = self.get_overlay(viewer_obj, lyr, get_wfs_endpoint(request))
166+
if layer_from_request:
167+
map_layers.append(layer_from_request)
161168
data['map']['layers'] = map_layers
162169
except Exception:
163170
# traceback.print_exc()

0 commit comments

Comments
 (0)