diff --git a/junior/views.py b/junior/views.py index 3ffea4c..a86083d 100644 --- a/junior/views.py +++ b/junior/views.py @@ -361,7 +361,7 @@ class JuniorPointsListAPIView(viewsets.ModelViewSet): """profile view""" try: update_positions_based_on_points() - queryset = JuniorTask.objects.filter(junior__auth__email=self.request.user).last() + queryset = JuniorPoints.objects.filter(junior__auth__email=self.request.user).last() # update position of junior serializer = JuniorPointsSerializer(queryset) return custom_response(None, serializer.data, response_status=status.HTTP_200_OK) diff --git a/web_admin/serializers/article_serializer.py b/web_admin/serializers/article_serializer.py index e78bd3e..29230eb 100644 --- a/web_admin/serializers/article_serializer.py +++ b/web_admin/serializers/article_serializer.py @@ -247,6 +247,9 @@ class ArticleQuestionSerializer(serializers.ModelSerializer): id = serializers.IntegerField(required=False) options = SurveyOptionSerializer(many=True) is_attempt = serializers.SerializerMethodField('get_is_attempt') + correct_answer = serializers.SerializerMethodField('get_correct_answer') + attempted_answer = serializers.SerializerMethodField('get_attempted_answer') + def get_is_attempt(self, obj): """attempt question or not""" @@ -256,12 +259,28 @@ class ArticleQuestionSerializer(serializers.ModelSerializer): return junior_article_obj.is_attempt return False + def get_correct_answer(self, obj): + """attempt question or not""" + ans_obj = SurveyOption.objects.filter(survey=obj, is_answer=True).last() + if ans_obj: + return ans_obj.id + return str("None") + + def get_attempted_answer(self, obj): + """attempt question or not""" + context_data = self.context.get('user') + junior_article_obj = JuniorArticlePoints.objects.filter(junior__auth=context_data, + question=obj, is_answer_correct=True).last() + if junior_article_obj: + return junior_article_obj.submitted_answer.id + return None + class Meta: """ meta class """ model = ArticleSurvey - fields = ('id', 'question', 'options', 'points', 'is_attempt') + fields = ('id', 'question', 'options', 'points', 'is_attempt', 'correct_answer', 'attempted_answer') class StartAssessmentSerializer(serializers.ModelSerializer): """