参加考试
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)
|
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')
|
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)
|
exceed_date = models.DateField('账号过期', null=True, blank=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ from .serializers import (
|
||||||
ExamTestListSerializer, MoniTestSerializer, PaperDetailSerializer,
|
ExamTestListSerializer, MoniTestSerializer, PaperDetailSerializer,
|
||||||
PaperQuestionsCreateSerializer, PaperSerializer, TestRuleSerializer,
|
PaperQuestionsCreateSerializer, PaperSerializer, TestRuleSerializer,
|
||||||
WorkScopeSerializer, ExamCreateUpdateSerializer, ExamListSerializer)
|
WorkScopeSerializer, ExamCreateUpdateSerializer, ExamListSerializer)
|
||||||
|
from django.utils import timezone
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
|
||||||
class ExamViewSet(ModelViewSet):
|
class ExamViewSet(ModelViewSet):
|
||||||
|
|
@ -72,6 +72,36 @@ class ExamViewSet(ModelViewSet):
|
||||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
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):
|
class AnswerDetailView(APIView):
|
||||||
authentication_classes = []
|
authentication_classes = []
|
||||||
permission_classes = []
|
permission_classes = []
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue