This commit is contained in:
Ross
2021-09-08 18:53:41 +01:00
parent afc2746a70
commit 54ff4490d9
8 changed files with 65 additions and 35 deletions
+23 -12
View File
@@ -231,8 +231,8 @@ class Rapid(models.Model):
exams = ", ".join(e)
return exams
def get_unmarked_answer_string(self):
unmarked_answers = self.get_unmarked_answers()
def get_unmarked_answer_string(self, exam_pk=None):
unmarked_answers = self.get_unmarked_answers(exam_pk)
if not unmarked_answers:
return "No answers to mark"
@@ -242,25 +242,36 @@ class Rapid(models.Model):
)
)
def get_unmarked_answers(self):
def get_unmarked_answers(self, exam_pk=None):
# If normal no answers to mark
if self.normal:
return []
user_answers = set(
[i.answer_compare for i in self.cid_user_answers.all() if i.normal == False]
)
if exam_pk is None:
user_answers = set(
[i.answer_compare for i in self.cid_user_answers.all() if i.normal == False]
)
else:
user_answers = set(
[i.answer_compare for i in self.cid_user_answers.filter(exam__id=exam_pk) if i.normal == False]
)
unmarked_answers = user_answers - self.get_marked_answers()
return unmarked_answers
def get_unmarked_answer_count(self):
return len(self.get_unmarked_answers())
def get_unmarked_answer_count(self, exam_pk=None):
return len(self.get_unmarked_answers(exam_pk))
def get_user_answers(self):
user_answers = set(
[i.answer_compare for i in self.cid_user_answers.all()]
)
def get_user_answers(self, exam_pk=None):
if exam_pk is None:
user_answers = set(
[i.answer_compare for i in self.cid_user_answers.all()]
)
else:
user_answers = set(
[i.answer_compare for i in self.cid_user_answers.filter(exam__id=exam_pk)]
)
return user_answers