fix: edu/model 、serializers、view 删减参与部门

This commit is contained in:
zty 2024-06-12 10:46:58 +08:00
parent 423eca445e
commit 5f4884e83d
3 changed files with 22 additions and 5 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

@ -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
@ -195,3 +195,21 @@ class ExamRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, C
er.is_submited = True
er.save()
return Response(ExamRecordSerializer(er).data)
class TrainRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, CustomGenericViewSet):
'''
培训记录
'''
perms_map = {"get": "*", "delete": "train.delete"}
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)