From 8fbb7a12c3e343ea96c7dc5d9b38889128da9120 Mon Sep 17 00:00:00 2001 From: sks444 <krishnasingh.ss30@gmail.com> Date: Mon, 19 Oct 2020 15:00:25 +0530 Subject: [PATCH] Add determination summary to submission detail api --- hypha/apply/api/v1/serializers.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/hypha/apply/api/v1/serializers.py b/hypha/apply/api/v1/serializers.py index 7c7fe23a5..5c682e8d1 100644 --- a/hypha/apply/api/v1/serializers.py +++ b/hypha/apply/api/v1/serializers.py @@ -113,6 +113,22 @@ class TimestampField(serializers.Field): return value.timestamp() * 1000 +class DeterminationSerializer(serializers.ModelSerializer): + outcome = serializers.ReadOnlyField(source='get_outcome_display') + author_id = serializers.ReadOnlyField(source='author.id') + url = serializers.ReadOnlyField(source='get_absolute_url') + updated_at = serializers.DateTimeField(read_only=True, source='get_updated_at_display') + + class Meta: + model = Review + fields = ('id', 'outcome', 'author_id', 'url', 'updated_at') + + +class DeterminationSummarySerializer(serializers.Serializer): + determinations = DeterminationSerializer(many=True, read_only=True) + count = serializers.ReadOnlyField(source='determinations.count') + + class SubmissionListSerializer(serializers.ModelSerializer): url = serializers.HyperlinkedIdentityField(view_name='api:v1:submissions-detail') round = serializers.SerializerMethodField() @@ -135,13 +151,14 @@ class SubmissionDetailSerializer(serializers.ModelSerializer): stage = serializers.CharField(source='stage.name') actions = ActionSerializer(source='*') review = ReviewSummarySerializer(source='*') + determination = DeterminationSummarySerializer(source='*') phase = serializers.CharField() screening = serializers.ReadOnlyField(source='screening_status.title') action_buttons = serializers.SerializerMethodField() class Meta: model = ApplicationSubmission - fields = ('id', 'title', 'stage', 'status', 'phase', 'meta_questions', 'questions', 'actions', 'review', 'screening', 'action_buttons') + fields = ('id', 'title', 'stage', 'status', 'phase', 'meta_questions', 'questions', 'actions', 'review', 'screening', 'action_buttons', 'determination') def serialize_questions(self, obj, fields): for field_id in fields: -- GitLab