allow completion of sbas / physics exams
This commit is contained in:
+12
-1
@@ -116,6 +116,17 @@ def exam_start(request, pk):
|
||||
{"exam": exam, "valid_user": exam.check_logged_in_user(request)},
|
||||
)
|
||||
|
||||
def exam_complete(request, pk, cid=None, passcode=None):
|
||||
exam = get_object_or_404(Exam, pk=pk)
|
||||
|
||||
exam.check_user_can_take(cid, passcode, request.user)
|
||||
|
||||
cid_user_exam = exam.get_or_create_cid_user_exam(cid=cid, user_user=request.user)
|
||||
|
||||
cid_user_exam.complete_exam()
|
||||
|
||||
return HttpResponse("<div role='alert' class='alert alert-info'>Exam completed</div>")
|
||||
|
||||
|
||||
def exam_take_overview(request, pk, cid=None, passcode=None):
|
||||
exam = get_object_or_404(Exam, pk=pk)
|
||||
@@ -195,7 +206,7 @@ def exam_take(request, pk: int, sk: int, cid: int = None, passcode: str = None):
|
||||
form = UserAnswerForm(request.POST, instance=answer)
|
||||
else:
|
||||
form = UserAnswerForm(request.POST)
|
||||
if form.is_valid():
|
||||
if form.is_valid() and not exam.publish_results and not cid_user_exam.completed:
|
||||
answer = form.save(commit=False)
|
||||
|
||||
if cid is not None:
|
||||
|
||||
Reference in New Issue
Block a user