fields: fix map marker widget when no data_source set (#50329)

This commit is contained in:
Lauréline Guérin 2021-01-22 11:48:26 +01:00
parent 7e4706e628
commit ee5c8246e7
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
2 changed files with 8 additions and 2 deletions

View File

@ -9377,12 +9377,18 @@ def test_form_item_map_data_source(pub, http_requests):
formdef = create_formdef()
formdef.fields = [
fields.ItemField(id='1', label='map', display_mode='map', data_source={'type': 'foobar'}),
fields.ItemField(id='1', label='map', display_mode='map'),
]
formdef.store()
formdef.data_class().wipe()
app = get_app(pub)
resp = app.get('/test/')
assert resp.pyquery('div[data-markers-radio-name]')[0].attrib['data-markers-url'] == ''
assert resp.pyquery('div[data-markers-radio-name]')[0].attrib['data-markers-radio-name'] == 'f1$marker_id'
formdef.fields[0].data_source = {'type': 'foobar'}
formdef.store()
resp = app.get('/test/')
assert resp.pyquery('div[data-markers-radio-name]')[0].attrib['data-markers-url'] == '/api/geojson/foobar'
assert resp.pyquery('div[data-markers-radio-name]')[0].attrib['data-markers-radio-name'] == 'f1$marker_id'
app.get('/api/geojson/wrong-foobar', status=404)

View File

@ -2491,7 +2491,7 @@ class MapMarkerSelectionWidget(MapWidget):
from wcs import data_sources
data_source = data_sources.get_object(kwargs['data_source'])
self.geojson_markers_url = data_source.get_geojson_url()
self.geojson_markers_url = data_source.get_geojson_url() if data_source else ''
def initial_position(self):
return None