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