.
This commit is contained in:
+9
-7
@@ -295,10 +295,12 @@ def loadJsonAnswer(answer):
|
|||||||
def mark_all(request, exam_pk, sk):
|
def mark_all(request, exam_pk, sk):
|
||||||
return mark(request, exam_pk, sk, unmarked_exam_answers_only=False)
|
return mark(request, exam_pk, sk, unmarked_exam_answers_only=False)
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def mark_review(request, exam_pk, sk):
|
def mark_review(request, exam_pk, sk):
|
||||||
return mark(request, exam_pk, sk, unmarked_exam_answers_only=False, review=True)
|
return mark(request, exam_pk, sk, unmarked_exam_answers_only=False, review=True)
|
||||||
|
|
||||||
|
|
||||||
# @user_passes_test(user_is_admin, login_url="/accounts/login")
|
# @user_passes_test(user_is_admin, login_url="/accounts/login")
|
||||||
@login_required
|
@login_required
|
||||||
def mark(request, pk, sk):
|
def mark(request, pk, sk):
|
||||||
@@ -307,7 +309,6 @@ def mark(request, pk, sk):
|
|||||||
if not exam.exam_mode:
|
if not exam.exam_mode:
|
||||||
raise Http404("Packet not in exam mode")
|
raise Http404("Packet not in exam mode")
|
||||||
|
|
||||||
|
|
||||||
questions = exam.exam_questions.all()
|
questions = exam.exam_questions.all()
|
||||||
|
|
||||||
n = sk
|
n = sk
|
||||||
@@ -351,7 +352,7 @@ def mark(request, pk, sk):
|
|||||||
return redirect("anatomy:mark", pk=pk, sk=n + 1)
|
return redirect("anatomy:mark", pk=pk, sk=n + 1)
|
||||||
|
|
||||||
cd = form.cleaned_data
|
cd = form.cleaned_data
|
||||||
|
|
||||||
marked_answers = json.loads(cd.get("marked_answers"))
|
marked_answers = json.loads(cd.get("marked_answers"))
|
||||||
|
|
||||||
# This should probably use json (or something else...)
|
# This should probably use json (or something else...)
|
||||||
@@ -360,7 +361,7 @@ def mark(request, pk, sk):
|
|||||||
("correct", Answer.MarkOptions.CORRECT),
|
("correct", Answer.MarkOptions.CORRECT),
|
||||||
("half-correct", Answer.MarkOptions.HALF_MARK),
|
("half-correct", Answer.MarkOptions.HALF_MARK),
|
||||||
("incorrect", Answer.MarkOptions.INCORRECT),
|
("incorrect", Answer.MarkOptions.INCORRECT),
|
||||||
)
|
)
|
||||||
|
|
||||||
for status_string, status in to_run:
|
for status_string, status in to_run:
|
||||||
for ans in marked_answers[status_string]:
|
for ans in marked_answers[status_string]:
|
||||||
@@ -379,7 +380,7 @@ def mark(request, pk, sk):
|
|||||||
|
|
||||||
a.status = status
|
a.status = status
|
||||||
a.save()
|
a.save()
|
||||||
|
|
||||||
if "next" in request.POST:
|
if "next" in request.POST:
|
||||||
return redirect("anatomy:mark", pk=pk, sk=n + 1)
|
return redirect("anatomy:mark", pk=pk, sk=n + 1)
|
||||||
elif "previous" in request.POST:
|
elif "previous" in request.POST:
|
||||||
@@ -810,9 +811,9 @@ class QuestionClone(AnatomyQuestionCreateBase):
|
|||||||
initial_data = model_to_dict(old_object, exclude=["id"])
|
initial_data = model_to_dict(old_object, exclude=["id"])
|
||||||
|
|
||||||
# We don't want to clone the exam details
|
# We don't want to clone the exam details
|
||||||
#exams = old_object.exams.all().values_list("id", flat=True)
|
# exams = old_object.exams.all().values_list("id", flat=True)
|
||||||
|
|
||||||
#initial_data["exams"] = list(exams)
|
# initial_data["exams"] = list(exams)
|
||||||
|
|
||||||
return initial_data
|
return initial_data
|
||||||
|
|
||||||
@@ -1001,6 +1002,7 @@ GenericViews = GenericViewBase("anatomy", AnatomyQuestion, CidUserAnswer, Exam)
|
|||||||
class ExamClone(ExamCloneMixin, ExamCreate):
|
class ExamClone(ExamCloneMixin, ExamCreate):
|
||||||
"""Clone exam view"""
|
"""Clone exam view"""
|
||||||
|
|
||||||
|
|
||||||
class StructureAutocomplete(autocomplete.Select2QuerySetView):
|
class StructureAutocomplete(autocomplete.Select2QuerySetView):
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
# Don't forget to filter out results depending on the visitor !
|
# Don't forget to filter out results depending on the visitor !
|
||||||
@@ -1012,4 +1014,4 @@ class StructureAutocomplete(autocomplete.Select2QuerySetView):
|
|||||||
if self.q:
|
if self.q:
|
||||||
qs = qs.filter(name__istartswith=self.q)
|
qs = qs.filter(name__istartswith=self.q)
|
||||||
|
|
||||||
return qs
|
return qs
|
||||||
|
|||||||
Reference in New Issue
Block a user