12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # 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)
|