geojson: full param to get all fields (#50283)
This commit is contained in:
parent
67abf4f379
commit
34ab42bb41
|
@ -2136,6 +2136,7 @@ def test_api_geojson_formdata(pub, local_user):
|
|||
assert 'features' in resp.json
|
||||
assert len(resp.json['features']) == 10
|
||||
display_fields = resp.json['features'][0]['properties']['display_fields']
|
||||
assert len(display_fields) == 5
|
||||
for field in display_fields:
|
||||
if field['label'] == 'Number':
|
||||
assert field['varname'] == 'id'
|
||||
|
@ -2153,6 +2154,16 @@ def test_api_geojson_formdata(pub, local_user):
|
|||
assert field['varname'] is None
|
||||
assert field['value'] == "test.txt"
|
||||
assert field['html_value'] == '<div class="file-field"><a download="test.txt" href="http://example.net/backoffice/management/test/28/download?f=1"><span>test.txt</span></a></div>'
|
||||
field_varnames = [f['varname'] for f in display_fields]
|
||||
assert 'foobar' not in field_varnames
|
||||
|
||||
# check full=on
|
||||
resp = get_app(pub).get(sign_uri('/api/forms/test/geojson?full=on', user=local_user))
|
||||
assert len(resp.json['features']) == 10
|
||||
display_fields = resp.json['features'][0]['properties']['display_fields']
|
||||
assert len(display_fields) == 8
|
||||
field_varnames = [f['varname'] for f in display_fields]
|
||||
assert 'foobar' in field_varnames
|
||||
|
||||
# check with a filter
|
||||
resp = get_app(pub).get(sign_uri('/api/forms/test/geojson?filter=done', user=local_user))
|
||||
|
|
|
@ -2101,7 +2101,10 @@ class FormPage(Directory):
|
|||
user = get_user_from_api_query_string('geojson')
|
||||
|
||||
selected_filter = self.get_filter_from_query()
|
||||
fields = self.get_fields_from_query()
|
||||
if get_request().form.get('full') == 'on':
|
||||
fields = list(self.get_formdef_fields())
|
||||
else:
|
||||
fields = self.get_fields_from_query()
|
||||
criterias = self.get_criterias_from_query()
|
||||
query = get_request().form.get('q')
|
||||
|
||||
|
|
Loading…
Reference in New Issue