fields: fix map marker widget when no data_source set (#50329)
This commit is contained in:
parent
7e4706e628
commit
ee5c8246e7
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue