Merge pull request #191 from KiwiTechLLC/dev

Dev
This commit is contained in:
Ankitajain-kiwi
2023-08-11 12:24:28 +05:30
committed by GitHub
4 changed files with 41 additions and 3 deletions
@@ -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
View File
@@ -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
View File
@@ -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)
+20 -1
View File
@@ -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):
"""