From 394edbab077e06e43d2f9fffe42bf3b5530ae7dd Mon Sep 17 00:00:00 2001 From: sks444 <krishnasingh.ss30@gmail.com> Date: Fri, 9 Oct 2020 16:14:50 +0530 Subject: [PATCH] Allow no-input field in serializer --- hypha/apply/api/v1/stream_serializers.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hypha/apply/api/v1/stream_serializers.py b/hypha/apply/api/v1/stream_serializers.py index a33383b19..a6cf1ca61 100644 --- a/hypha/apply/api/v1/stream_serializers.py +++ b/hypha/apply/api/v1/stream_serializers.py @@ -21,8 +21,6 @@ class WagtailSerializer: serializer_fields = OrderedDict() form_fields = self.get_form_fields() for field_id, field in form_fields.items(): - if isinstance(field, BlockFieldWrapper): - continue serializer_fields[field_id] = self._get_field( field, self.get_serializer_field_class(field), @@ -110,6 +108,9 @@ class WagtailSerializer: if attrs.get('required') and 'default' in attrs: del attrs['required'] + if isinstance(form_field, BlockFieldWrapper): + return attrs + # avoid "May not set both `read_only` and `required`" if form_field.widget.attrs.get('readonly', False) == 'readonly': attrs['read_only'] = True @@ -125,6 +126,8 @@ class WagtailSerializer: have to create mapping b/w form fields and serializer fields to get the respective classes. But for now this works. """ + if isinstance(field, BlockFieldWrapper): + return getattr(serializers, 'CharField') if isinstance(field, ScoredAnswerField): return ScoredAnswerListField if isinstance(field, TypedChoiceField): -- GitLab