diff --git a/hypha/apply/funds/blocks.py b/hypha/apply/funds/blocks.py index 8b89f248783cdfdcfbf07ecc55806d0200da311a..4984c4823afbabe4f2d81c1c5d11e09573a360a3 100644 --- a/hypha/apply/funds/blocks.py +++ b/hypha/apply/funds/blocks.py @@ -51,6 +51,8 @@ class ValueBlock(ApplicationSingleIncludeFieldBlock): icon = "decimal" def prepare_data(self, value, data, serialize): + if not data: + return data return format_number_as_currency(str(data)) @@ -99,6 +101,8 @@ class AddressFieldBlock(ApplicationSingleIncludeFieldBlock): return ", ".join(data[field] for field in ADDRESS_FIELDS_ORDER if data[field]) def prepare_data(self, value, data, serialize): + if not data: + return data data = json.loads(data) data = {field: data[field] for field in ADDRESS_FIELDS_ORDER} @@ -193,6 +197,8 @@ class DurationBlock(ApplicationSingleIncludeFieldBlock): return field_kwargs def prepare_data(self, value, data, serialize): + if not data: + return data if value["duration_type"] == self.DAYS: return self.DURATION_DAY_OPTIONS[int(data)] if value["duration_type"] == self.WEEKS: diff --git a/hypha/apply/stream_forms/blocks.py b/hypha/apply/stream_forms/blocks.py index e67c7e57d859b3beb7eaf7ff1cc9814d68ef573f..70d264dd58cc49614085e6357ffd758c776ea60c 100644 --- a/hypha/apply/stream_forms/blocks.py +++ b/hypha/apply/stream_forms/blocks.py @@ -285,6 +285,8 @@ class CheckboxesFieldBlock(OptionalFormFieldBlock): return kwargs def prepare_data(self, value, data, serialize=False): + if not data: + return data base_prepare = super().prepare_data return [base_prepare(value, item, serialize) for item in data] @@ -443,7 +445,9 @@ class MultiFileFieldBlock(UploadableMediaBlock): def prepare_data(self, value, data, serialize): if serialize: - return [file.serialize() for file in data] + if data: + return [file.serialize() for file in data] + return None return data def no_response(self):