diff --git a/backend/api/v1/v1_data/serializers.py b/backend/api/v1/v1_data/serializers.py index 1b1917569..74416877e 100644 --- a/backend/api/v1/v1_data/serializers.py +++ b/backend/api/v1/v1_data/serializers.py @@ -442,6 +442,7 @@ def __init__(self, **kwargs): class ListPendingDataAnswerSerializer(serializers.ModelSerializer): history = serializers.SerializerMethodField() value = serializers.SerializerMethodField() + last_value = serializers.SerializerMethodField() @extend_schema_field(AnswerHistorySerializer(many=True)) def get_history(self, instance): @@ -457,9 +458,19 @@ def get_history(self, instance): def get_value(self, instance: Answers): return get_answer_value(instance) + @extend_schema_field(OpenApiTypes.ANY) + def get_last_value(self, instance: Answers): + if self.context['last_data']: + answer = self.context['last_data'].data_answer.filter( + question=instance.question + ).first() + if answer: + return get_answer_value(answer=answer) + return None + class Meta: model = PendingAnswers - fields = ["history", "question", "value"] + fields = ["history", "question", "value", "last_value"] class PendingBatchDataFilterSerializer(serializers.Serializer): diff --git a/backend/api/v1/v1_data/views.py b/backend/api/v1/v1_data/views.py index c8d01f6cb..6ffb57acf 100644 --- a/backend/api/v1/v1_data/views.py +++ b/backend/api/v1/v1_data/views.py @@ -852,11 +852,16 @@ class PendingDataDetailDeleteView(APIView): summary='To get list of answers for pending data') def get(self, request, pending_data_id, version): data = get_object_or_404(PendingFormData, pk=pending_data_id) + last_data = FormData.objects.filter(uuid=data.uuid)\ + .order_by('-created').first() return Response( ListPendingDataAnswerSerializer( + context={'last_data': last_data}, instance=data.pending_data_answer.all(), - many=True).data, - status=status.HTTP_200_OK) + many=True + ).data, + status=status.HTTP_200_OK + ) @extend_schema( responses={