From 0b87421508cc24fad40756c488b15141b99a291d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 6 Jul 2018 12:27:37 +0200 Subject: [PATCH] api: include field varname in geojson output (#25111) --- tests/test_api.py | 6 +++++- wcs/backoffice/management.py | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/test_api.py b/tests/test_api.py index 57a860e7..066bd8de 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1597,7 +1597,7 @@ def test_api_geojson_formdata(pub, local_user): formdef.workflow_roles = {'_receiver': role.id} formdef.fields = [ fields.StringField(id='0', label='foobar', varname='foobar', type='string'), - fields.FileField(id='1', label='foobar1', varname='file', type='file') + fields.FileField(id='1', label='foobar1', type='file') ] formdef.store() @@ -1645,15 +1645,19 @@ def test_api_geojson_formdata(pub, local_user): display_fields = resp.json['features'][0]['properties']['display_fields'] for field in display_fields: if field['label'] == 'Number': + assert field['varname'] == 'id' assert field['html_value'] == '1-28' assert field['value'] == '1-28' if field['label'] == 'User Label': + assert field['varname'] == 'user_label' assert field['value'] == username assert field['html_value'] == "<font color="red">Jean Darmette</font>" if field['label'] == 'foobar': + assert field['varname'] == 'foobar' assert field['value'] == foobar assert field['html_value'] == "<font color="red">FOO BAR</font>" if field['label'] == 'foobar1': + assert field['varname'] is None assert field['value'] == "test.txt" assert field['html_value'] == '
test.txt
' diff --git a/wcs/backoffice/management.py b/wcs/backoffice/management.py index 331b4e07..27399328 100644 --- a/wcs/backoffice/management.py +++ b/wcs/backoffice/management.py @@ -90,6 +90,7 @@ def geojson_formdatas(formdatas, geoloc_key='base', fields=None): continue display_fields.append({ + 'varname': field.varname, 'label': field.label, 'value': str(value), 'html_value': str(htmlescape(html_value)) @@ -2274,7 +2275,7 @@ class FakeField(object): self.type = type_ self.label = label self.fake = True - self.varname = None + self.varname = id.replace('-', '_') self.store_display_value = None def get_view_value(self, value): -- 2.18.0