|
@@ -0,0 +1,46 @@
|
|
|
+# coding=utf-8
|
|
|
+import json
|
|
|
+import traceback
|
|
|
+from django.db.models import Sum, F
|
|
|
+from rest_framework.decorators import action
|
|
|
+from rest_framework.serializers import ValidationError
|
|
|
+from rest_framework.views import APIView
|
|
|
+from django.db import transaction
|
|
|
+from django.db.models import Q
|
|
|
+from utils.custom_modelviewset import CustomModelViewSet
|
|
|
+from utils import response_ok, response_error
|
|
|
+from utils.permission import IsAdministrator, IsStaff
|
|
|
+from apps.examination.exam.serializers import *
|
|
|
+from apps.examination.exam.filters import *
|
|
|
+from apps.system.models import SysLog
|
|
|
+from apps.foundation.serializers import SubjectSerializer, ChapterSerializer, SubjectSimpleSerializer, \
|
|
|
+ ChapterSimpleSerializer, Subject
|
|
|
+from apps.examination.exampaper.filters import ExamPaper, ExamPaperFilter
|
|
|
+from apps.examination.exampaper.serializers import StaffExamPaperSerializer
|
|
|
+
|
|
|
+class ExamPaperViewSet(CustomModelViewSet):
|
|
|
+ permission_classes = [IsStaff, ]
|
|
|
+ queryset = ExamPaper.objects.filter(delete=False)
|
|
|
+ serializer_class = StaffExamPaperSerializer
|
|
|
+
|
|
|
+ def filter_queryset(self, queryset):
|
|
|
+ f = ExamPaperFilter(self.request.GET, queryset=queryset, request=self.request)
|
|
|
+ return f.qs
|
|
|
+
|
|
|
+class ExamLogViewSet(CustomModelViewSet):
|
|
|
+ permission_classes = [IsStaff, ]
|
|
|
+ queryset = ExamLog.objects.filter(delete=False)
|
|
|
+ serializer_class = StaffExamLogSerializer
|
|
|
+
|
|
|
+ def filter_queryset(self, queryset):
|
|
|
+ # queryset = queryset.filter(user=self.request.user)
|
|
|
+ f = FormalExamLogFilter(self.request.GET, queryset=queryset)
|
|
|
+ return f.qs
|
|
|
+
|
|
|
+class DictView(APIView):
|
|
|
+ permission_classes = [IsStaff, ]
|
|
|
+
|
|
|
+ def get(self, request):
|
|
|
+ subjects = Subject.objects.filter(delete=False)
|
|
|
+ serializers = SubjectSerializer(subjects, many=True)
|
|
|
+ return response_ok(serializers.data)
|