mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2026-10-23 10:37:57 +00:00
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.2 on 2023-08-10 14:46
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('junior', '0024_juniorarticle_current_card_page_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='juniorarticle',
|
||||
name='junior',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='juniors_article', to='junior.junior', verbose_name='Junior'),
|
||||
),
|
||||
]
|
||||
+1
-1
@@ -167,7 +167,7 @@ class JuniorArticle(models.Model):
|
||||
Survey Options model
|
||||
"""
|
||||
# associated junior with the task
|
||||
junior = models.OneToOneField(Junior, on_delete=models.CASCADE, related_name='juniors_article',
|
||||
junior = models.ForeignKey(Junior, on_delete=models.CASCADE, related_name='juniors_article',
|
||||
verbose_name='Junior')
|
||||
article = models.ForeignKey(Article, on_delete=models.CASCADE, related_name='junior_articles_details')
|
||||
# article completed"""
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user