This commit is contained in:
caoqianming 2024-06-18 17:54:53 +08:00
commit de6c57b5c9
4 changed files with 24 additions and 6 deletions

View File

@ -19,7 +19,6 @@ class Train(CommonADModel):
duration = models.PositiveIntegerField(verbose_name='时长', default=0, help_text='单位:s', editable=False)
description = models.TextField(verbose_name='内容描述', default='', blank=True)
is_public = models.BooleanField('是否公开', default=False)
attend_departs = models.ManyToManyField(Dept, verbose_name='参与部门', blank=True)
files = models.ManyToManyField(File, verbose_name='附件', blank=True)
class Meta:

View File

@ -185,7 +185,7 @@ class ExamRecordSubmitSerializer(serializers.ModelSerializer):
model = ExamRecord
fields = ['detail']
class ExamTrainingSerializer(CustomModelSerializer):
class TrainingSerializer(CustomModelSerializer):
class Meta:
model = Train

View File

@ -1,6 +1,6 @@
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from apps.edu.views import QuestioncatViewSet, QuestionViewSet, PaperViewSet, ExamViewSet, ExamRecordViewSet
from apps.edu.views import QuestioncatViewSet, QuestionViewSet, PaperViewSet, ExamViewSet, ExamRecordViewSet, TrainRecordViewSet
API_BASE_URL = 'api/edu/'
HTML_BASE_URL = 'edu/'
@ -11,6 +11,7 @@ router.register('question', QuestionViewSet, basename='question')
router.register('paper', PaperViewSet, basename='paper')
router.register('exam', ExamViewSet, basename='exam')
router.register('examrecord', ExamRecordViewSet, basename='examrecord')
router.register('training', TrainRecordViewSet, basename='examrecord')
urlpatterns = [
path(API_BASE_URL, include(router.urls)),
]

View File

@ -5,10 +5,10 @@ from rest_framework.exceptions import ParseError
from rest_framework.decorators import action
from rest_framework.serializers import Serializer
from django.db import transaction
from .models import Questioncat, Question, Paper, PaperQuestion, Exam, ExamRecord, AnswerDetail
from .models import Questioncat, Question, Paper, PaperQuestion, Exam, ExamRecord, AnswerDetail, Train
from .serializers import (QuestioncatSerializer, QuestionSerializer, ExamSerializer,
ExamRecordInitSerizlier, ExamRecordSerializer, ExamRecordDetailSerializer, ExamRecordSubmitSerializer,
PaperSerializer, PaperListSerializer, PaperPatchSerializer, ExamDetailSerializer)
PaperSerializer, PaperListSerializer, PaperPatchSerializer, ExamDetailSerializer, TrainingSerializer)
from django.utils import timezone
from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated
@ -194,4 +194,22 @@ class ExamRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, C
er.end_time = now
er.is_submited = True
er.save()
return Response(ExamRecordSerializer(er).data)
return Response(ExamRecordSerializer(er).data)
class TrainRecordViewSet(CustomModelViewSet):
'''
培训记录
'''
perms_map = {"get": "*", "delete": "train.delete","post": "train.create","put": "train.update"}
queryset = Train.objects.all()
serializer_class = TrainingSerializer
search_fields = ('create_by__name', 'create_by__username', 'name')
def get_queryset(self):
qs = super().get_queryset()
if has_perm(self.request.user, ["train.view"]):
return qs
return qs.filter(create_by=self.request.user)