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