feat: 考试增加是否仅培训班学员字段
This commit is contained in:
parent
6f73165d9b
commit
8957a3c833
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 3.0.4 on 2024-03-24 12:12
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('examtest', '0038_auto_20230330_1402'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='exam',
|
||||
name='only_vip',
|
||||
field=models.BooleanField(default=False, verbose_name='仅允许培训班学员'),
|
||||
),
|
||||
]
|
|
@ -26,6 +26,7 @@ class Exam(CommonModel):
|
|||
paper = models.ForeignKey(Paper, verbose_name='选定的试卷', on_delete=models.CASCADE, null=True, blank=True)
|
||||
qdimgs = JSONField('签到图片', default=list)
|
||||
xcimgs = JSONField('现场图片', default=list)
|
||||
only_vip = models.BooleanField('仅允许培训班学员', default=False)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
|
|
@ -101,15 +101,18 @@ class ExamViewSet(ModelViewSet):
|
|||
"""
|
||||
参加考试
|
||||
"""
|
||||
consumer = request.user
|
||||
if request.data.get('deptname', None):
|
||||
request.user.deptname = request.data['deptname']
|
||||
request.user.save()
|
||||
consumer.deptname = request.data['deptname']
|
||||
consumer.save()
|
||||
if request.data.get('code', None):
|
||||
code = request.data.get('code')
|
||||
now = timezone.now()
|
||||
try:
|
||||
exam = Exam.objects.get(code=code, opentime__lt=now, closetime__gt=now)
|
||||
tests = ExamTest.objects.filter(exam=exam, consumer=request.user)
|
||||
if exam.only_vip and consumer.role.name != '培训班学员':
|
||||
return Response({'error':'您无法参加本场考试'})
|
||||
tests = ExamTest.objects.filter(exam=exam, consumer=consumer)
|
||||
if tests.count() < exam.chance: # 还有考试机会就可以接着考
|
||||
return Response({'exam':exam.pk})
|
||||
return Response({'error':'考试机会不足'})
|
||||
|
|
Loading…
Reference in New Issue