参加考试
This commit is contained in:
parent
9554132a66
commit
ea27424e60
|
|
@ -74,6 +74,7 @@ class Consumer(CommonModel):
|
|||
|
||||
ID_number1 = models.CharField('身份证号', max_length=100, null=True, blank=True)
|
||||
create_admin = models.ForeignKey(UserProfile, on_delete=models.SET_NULL, null=True, blank=True, related_name='consumer_create_admin')
|
||||
deptname = models.CharField('所在部门', max_length=100, null=True, blank=True)
|
||||
exceed_date = models.DateField('账号过期', null=True, blank=True)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ from .serializers import (
|
|||
ExamTestListSerializer, MoniTestSerializer, PaperDetailSerializer,
|
||||
PaperQuestionsCreateSerializer, PaperSerializer, TestRuleSerializer,
|
||||
WorkScopeSerializer, ExamCreateUpdateSerializer, ExamListSerializer)
|
||||
|
||||
from django.utils import timezone
|
||||
# Create your views here.
|
||||
|
||||
class ExamViewSet(ModelViewSet):
|
||||
|
|
@ -72,6 +72,36 @@ class ExamViewSet(ModelViewSet):
|
|||
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
|
||||
@action(methods=['post'], detail = False,perms_map=[{'get':'exam_attend'}])
|
||||
def attend(self, request, *args, **kwargs):
|
||||
"""
|
||||
参加考试
|
||||
"""
|
||||
if request.user.role.name in ['游客', '注册用户']:
|
||||
return Response({'error':'无权参加考试,请联系老师'})
|
||||
if request.data.get('deptname', None):
|
||||
request.user.deptname = request.data['deptname']
|
||||
request.user.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)
|
||||
return Response({'exam':exam.pk})
|
||||
except:
|
||||
return Response({'error':'考试编号错误'})
|
||||
return Response({'error':'操作失败'})
|
||||
|
||||
@action(methods=['post'], detail = True,perms_map=[{'get':'exam_init'}])
|
||||
def init(self, request, *args, **kwargs):
|
||||
"""
|
||||
生成考试卷
|
||||
"""
|
||||
obj = self.get_object()
|
||||
pass
|
||||
|
||||
|
||||
|
||||
class AnswerDetailView(APIView):
|
||||
authentication_classes = []
|
||||
permission_classes = []
|
||||
|
|
|
|||
Loading…
Reference in New Issue