Projet

Général

Profil

0001-fields-fix-map-marker-widget-when-no-data_source-set.patch

Lauréline Guérin, 22 janvier 2021 11:49

Télécharger (2,07 ko)

Voir les différences:

Subject: [PATCH] fields: fix map marker widget when no data_source set
 (#50329)

 tests/form_pages/test_all.py | 8 +++++++-
 wcs/qommon/form.py           | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)
tests/form_pages/test_all.py
9377 9377

  
9378 9378
    formdef = create_formdef()
9379 9379
    formdef.fields = [
9380
        fields.ItemField(id='1', label='map', display_mode='map', data_source={'type': 'foobar'}),
9380
        fields.ItemField(id='1', label='map', display_mode='map'),
9381 9381
    ]
9382 9382
    formdef.store()
9383 9383
    formdef.data_class().wipe()
9384 9384
    app = get_app(pub)
9385 9385
    resp = app.get('/test/')
9386
    assert resp.pyquery('div[data-markers-radio-name]')[0].attrib['data-markers-url'] == ''
9387
    assert resp.pyquery('div[data-markers-radio-name]')[0].attrib['data-markers-radio-name'] == 'f1$marker_id'
9388

  
9389
    formdef.fields[0].data_source = {'type': 'foobar'}
9390
    formdef.store()
9391
    resp = app.get('/test/')
9386 9392
    assert resp.pyquery('div[data-markers-radio-name]')[0].attrib['data-markers-url'] == '/api/geojson/foobar'
9387 9393
    assert resp.pyquery('div[data-markers-radio-name]')[0].attrib['data-markers-radio-name'] == 'f1$marker_id'
9388 9394
    app.get('/api/geojson/wrong-foobar', status=404)
wcs/qommon/form.py
2491 2491

  
2492 2492
        from wcs import data_sources
2493 2493
        data_source = data_sources.get_object(kwargs['data_source'])
2494
        self.geojson_markers_url = data_source.get_geojson_url()
2494
        self.geojson_markers_url = data_source.get_geojson_url() if data_source else ''
2495 2495

  
2496 2496
    def initial_position(self):
2497 2497
        return None
2498
-