Newer
Older
from rest_framework import serializers
from .models import ApplicationSubmission
class SubmissionListSerializer(serializers.ModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='funds:submissions-api:detail')
class Meta:
model = ApplicationSubmission
fields = ('id', 'title', 'status', 'url')
class SubmissionDetailSerializer(serializers.ModelSerializer):
questions = serializers.SerializerMethodField()
meta_questions = serializers.SerializerMethodField()
stage = serializers.CharField(source='stage.name')
class Meta:
model = ApplicationSubmission
fields = ('id', 'title', 'stage', 'meta_questions', 'questions')
def serialize_questions(self, obj, fields):
for field_id in fields:
meta_questions = {
'title': 'Project Name',
'full_name': 'Legal Name',
'email': 'Email',
'value': 'Requested Funding',
'duration': 'Project Duration',
'address': 'Address'
}
data = self.serialize_questions(obj, obj.named_blocks.values())
data = [
{
**response,
'question': meta_questions.get(response['type'], response['question'])
}
for response in data
]
return data
return self.serialize_questions(obj, obj.normal_blocks)