geojson: don't return fields with no value (#15889)
This commit is contained in:
parent
8304a4d902
commit
01dd49631f
|
@ -915,6 +915,7 @@ def test_backoffice_geojson(pub):
|
|||
create_environment(pub)
|
||||
formdef = FormDef.get_by_urlname('form-title')
|
||||
formdef.fields.append(fields.MapField(id='4', label='4th field', type='map'))
|
||||
formdef.fields.append(fields.MapField(id='5', label='5th field', type='string'))
|
||||
form_class = formdef.data_class()
|
||||
number31 = [x for x in form_class.select() if x.data['1'] == 'FOO BAR 30'][0]
|
||||
app = login(get_app(pub))
|
||||
|
@ -927,7 +928,7 @@ def test_backoffice_geojson(pub):
|
|||
number31.geolocations = {'base': {'lat': 48.83, 'lon': 2.32}}
|
||||
number31.store()
|
||||
|
||||
resp = app.get('/backoffice/management/form-title/geojson?1=on&4=on')
|
||||
resp = app.get('/backoffice/management/form-title/geojson?1=on&4=on&5=on')
|
||||
assert len(resp.json['features']) == 1
|
||||
assert resp.json['features'][0]['geometry']['coordinates'] == [2.32, 48.83]
|
||||
assert 'status_colour' in resp.json['features'][0]['properties']
|
||||
|
|
|
@ -82,6 +82,8 @@ def geojson_formdatas(formdatas, geoloc_key='base', fields=None):
|
|||
continue
|
||||
value = formdata.get_field_view_value(field, max_length=60)
|
||||
value = value.replace('[download]', formdata_backoffice_url)
|
||||
if not value:
|
||||
continue
|
||||
display_fields.append((str(htmlescape(field.label)), str(htmlescape(value))))
|
||||
|
||||
feature = {
|
||||
|
|
|
@ -96,10 +96,8 @@ $(window).on('load', function() {
|
|||
if (feature.properties.display_fields.length > 0) {
|
||||
var popup = '';
|
||||
$.each(feature.properties.display_fields, function(index, field) {
|
||||
if (field[1]) {
|
||||
popup += '<p class="popup-field"><span class="field-label">' + field[0] + '</span>';
|
||||
popup += '<span class="field-value">' + field[1] + '</span></p>';
|
||||
}
|
||||
popup += '<p class="popup-field"><span class="field-label">' + field[0] + '</span>';
|
||||
popup += '<span class="field-value">' + field[1] + '</span></p>';
|
||||
});
|
||||
} else {
|
||||
var popup = '<p class="popup-field formdata-name">' + feature.properties.name + '</p>';
|
||||
|
|
Loading…
Reference in New Issue