fix: exam/viwe.py 修改考试的参与记录
This commit is contained in:
parent
e59038b66e
commit
305f5b065f
|
@ -40,6 +40,6 @@ class ExamFilter(filters.FilterSet):
|
|||
def filter_is_my(self, queryset, name, value):
|
||||
if value:
|
||||
user = self.request.user
|
||||
return queryset.filter(Q(participant_user=user)|Q(participant_dep=user.dept)|Q(is_open=True))
|
||||
return queryset.filter(participant_dep=user.dept)
|
||||
return queryset
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 3.2.12 on 2024-06-19 06:12
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('exam', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='exam',
|
||||
name='name',
|
||||
field=models.CharField(max_length=100, unique=True, verbose_name='名称'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='paper',
|
||||
name='name',
|
||||
field=models.CharField(max_length=200, unique=True, verbose_name='名称'),
|
||||
),
|
||||
]
|
|
@ -51,7 +51,7 @@ class Question(CommonADModel):
|
|||
|
||||
|
||||
class Paper(CommonAModel):
|
||||
name = models.CharField(max_length=200, verbose_name='名称')
|
||||
name = models.CharField(max_length=200, verbose_name='名称', unique=True)
|
||||
questions = models.ManyToManyField(Question, through='PaperQuestion')
|
||||
limit = models.IntegerField(default=0, verbose_name='限时(分钟)')
|
||||
total_score = models.FloatField(default=0, verbose_name='满分')
|
||||
|
@ -81,7 +81,7 @@ class Exam(CommonAModel):
|
|||
组织的正式考试
|
||||
"""
|
||||
code = models.CharField('考试编号', max_length=100, null=True, blank=True, unique=True)
|
||||
name = models.CharField('名称', max_length=100)
|
||||
name = models.CharField('名称', max_length=100, unique=True)
|
||||
place = models.CharField('考试地点', max_length=100, null=True, blank=True)
|
||||
open_time = models.DateTimeField('开启时间', null=True, blank=True)
|
||||
close_time = models.DateTimeField('关闭时间', null=True, blank=True)
|
||||
|
|
|
@ -489,14 +489,14 @@ class ExamViewSet(CreateUpdateCustomMixin, ModelViewSet):
|
|||
user = self.request.user
|
||||
if has_permission("exam", user):
|
||||
return qs
|
||||
return qs.filter(Q(participant_user=user)|Q(participant_dep=user.dept)|Q(is_open=True))
|
||||
return qs.filter(participant_dep=user.dept)
|
||||
|
||||
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if ExamRecord.objects.filter(exam=instance).exists():
|
||||
raise ParseError('存在考试记录,禁止删除')
|
||||
instance.delete()
|
||||
instance.delete(soft=False)
|
||||
return Response(status=204)
|
||||
|
||||
@action(methods=['post'], detail=True, perms_map={'post': '*'}, serializer_class=Serializer, permission_classes = [IsAuthenticated])
|
||||
|
|
Loading…
Reference in New Issue