feat: 添加examlist can_attend返回

This commit is contained in:
caoqianming 2024-06-03 17:41:46 +08:00
parent 57acaa2e06
commit db39aa6519
1 changed files with 13 additions and 0 deletions

View File

@ -16,6 +16,7 @@ from drf_yasg.utils import swagger_auto_schema
from apps.utils.permission import has_perm
from .filters import ExamFilter, ExamRecordFilter
from apps.system.models import User
from datetime import datetime
# Create your views here.
class QuestioncatViewSet(CustomModelViewSet):
@ -26,6 +27,7 @@ class QuestioncatViewSet(CustomModelViewSet):
class QuestionViewSet(CustomModelViewSet):
queryset = Question.objects.all()
serializer_class = QuestionSerializer
select_related_fields = ["questioncat"]
filterset_fields = ["questioncat", "type", "enabled"]
def update(self, request, *args, **kwargs):
@ -54,6 +56,17 @@ class ExamViewSet(CustomModelViewSet):
filterset_class = ExamFilter
retrieve_serializer_class = ExamDetailSerializer
def add_info_for_list(self, data):
"""
添加是否可参加字段
"""
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
for item in data:
item["can_attend"] = False
if item["open_time"] <= now <= item["close_time"]:
item["can_attend"] = True
return data
def get_queryset(self):
qs = super().get_queryset()
if has_perm(self.request.user, 'exam.view'):