From 5523100611cb359e2e0b11a2e0a9259a1210192c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 28 Apr 2017 09:14:50 +0200 Subject: [PATCH] fields: return empty string as visualisation of empty file fields (#16073) --- tests/test_fields.py | 5 ++++- wcs/fields.py | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/test_fields.py b/tests/test_fields.py index 15573b0a..015c1282 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -100,7 +100,10 @@ def test_password(): def test_file(): upload = Upload('/foo/bar', content_type='text/plain') - assert fields.FileField().get_csv_value(upload) == ['/foo/bar'] + assert fields.FileField(id=1).get_csv_value(upload) == ['/foo/bar'] + assert fields.FileField(id=1).get_view_value(upload) == '/foo/bar' + assert fields.FileField(id=1).get_csv_value(None) == [''] + assert fields.FileField(id=1).get_view_value(None) == '' def test_page(): formdef = FormDef() diff --git a/wcs/fields.py b/wcs/fields.py index 204b888a..629b8766 100644 --- a/wcs/fields.py +++ b/wcs/fields.py @@ -786,6 +786,8 @@ class FileField(WidgetField): 'document_type', 'max_file_size', 'allow_portfolio_picking'] def get_view_value(self, value): + if not value: + return '' return htmltext('%s') % ( value.base_filename, self.id, value) @@ -797,6 +799,8 @@ class FileField(WidgetField): return ['%s' % value] def get_json_value(self, value): + if not value: + return {} return { 'field_id': self.id, 'filename': value.base_filename, -- 2.11.0