From 1e97d7bd6b10a56954037dcb758a95fedc8c7f28 Mon Sep 17 00:00:00 2001 From: abutalib-kiwi Date: Fri, 8 Sep 2023 16:14:29 +0530 Subject: [PATCH] modified task description field, modified check answer api and create task api --- .../0022_alter_juniortask_task_description.py | 18 ++++++++++++++++++ guardian/models.py | 2 +- guardian/views.py | 13 ++++++------- junior/views.py | 2 +- web_admin/views/auth.py | 2 +- 5 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 guardian/migrations/0022_alter_juniortask_task_description.py diff --git a/guardian/migrations/0022_alter_juniortask_task_description.py b/guardian/migrations/0022_alter_juniortask_task_description.py new file mode 100644 index 0000000..27e003c --- /dev/null +++ b/guardian/migrations/0022_alter_juniortask_task_description.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.2 on 2023-09-08 10:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('guardian', '0021_guardian_is_deleted'), + ] + + operations = [ + migrations.AlterField( + model_name='juniortask', + name='task_description', + field=models.CharField(blank=True, max_length=500, null=True), + ), + ] diff --git a/guardian/models.py b/guardian/models.py index 5c6457a..94cb4e6 100644 --- a/guardian/models.py +++ b/guardian/models.py @@ -97,7 +97,7 @@ class JuniorTask(models.Model): """task details""" task_name = models.CharField(max_length=100) """task description""" - task_description = models.CharField(max_length=500) + task_description = models.CharField(max_length=500, null=True, blank=True) """points of the task""" points = models.IntegerField(default=TASK_POINTS) """last date of the task""" diff --git a/guardian/views.py b/guardian/views.py index 45ba54d..c4e952e 100644 --- a/guardian/views.py +++ b/guardian/views.py @@ -208,14 +208,13 @@ class CreateTaskAPIView(viewsets.ModelViewSet): junior_data = Junior.objects.filter(id__in=junior_ids, guardian_code__contains=[guardian.guardian_code] ).select_related('auth') - if junior_data: - for junior in junior_data: - index = junior.guardian_code.index(guardian.guardian_code) - status_index = junior.guardian_code_status[index] - if status_index == str(NUMBER['three']): - return custom_error_response(ERROR_CODE['2078'], response_status=status.HTTP_400_BAD_REQUEST) - else: + if not junior_data: return custom_error_response(ERROR_CODE['2047'], response_status=status.HTTP_400_BAD_REQUEST) + for junior in junior_data: + index = junior.guardian_code.index(guardian.guardian_code) + status_index = junior.guardian_code_status[index] + if status_index == str(NUMBER['three']): + return custom_error_response(ERROR_CODE['2078'], response_status=status.HTTP_400_BAD_REQUEST) # use TaskSerializer serializer serializer = TaskSerializer(context={"guardian": guardian, "image": image_data, diff --git a/junior/views.py b/junior/views.py index fb4771d..0dd632d 100644 --- a/junior/views.py +++ b/junior/views.py @@ -643,7 +643,7 @@ class CheckAnswerAPIView(viewsets.ModelViewSet): answer_id = self.request.GET.get('answer_id') current_page = self.request.GET.get('current_page') queryset = self.get_queryset() - submit_ans = SurveyOption.objects.filter(id=answer_id).last() + submit_ans = SurveyOption.objects.filter(id=answer_id, is_answer=True).last() junior_article_points = JuniorArticlePoints.objects.filter(junior__auth=self.request.user, question=queryset) if submit_ans: diff --git a/web_admin/views/auth.py b/web_admin/views/auth.py index 73f19e5..36f058b 100644 --- a/web_admin/views/auth.py +++ b/web_admin/views/auth.py @@ -4,7 +4,7 @@ web_admin auth views file # django imports from rest_framework.viewsets import GenericViewSet from rest_framework.decorators import action -from rest_framework import status +from rest_framework import status from django.contrib.auth import get_user_model # local imports