Numerous improvements to case questions
This commit is contained in:
@@ -774,6 +774,8 @@ class CaseCollection(ExamOrCollectionGenericBase):
|
||||
help_text="If true allows users self complete and review cases in a self directed way.",
|
||||
)
|
||||
|
||||
feedback_once_collection_complete = models.BooleanField(default=True, help_text="If true feedback is only given once the collection is complete. If false feedback is given after each case.")
|
||||
|
||||
class COLLECTION_TYPE_CHOICES(models.TextChoices):
|
||||
REVIEW = (
|
||||
"REV",
|
||||
@@ -783,6 +785,10 @@ class CaseCollection(ExamOrCollectionGenericBase):
|
||||
"REP",
|
||||
_("Report"),
|
||||
)
|
||||
QUESTION = (
|
||||
"QUE",
|
||||
_("Question"),
|
||||
)
|
||||
VIVA = (
|
||||
"VIV",
|
||||
_("Viva"),
|
||||
@@ -874,6 +880,33 @@ class CaseCollection(ExamOrCollectionGenericBase):
|
||||
"""Returns the cases in the collection in order of the CaseDetail sort_order"""
|
||||
return self.cases.all().order_by("casedetail__sort_order")
|
||||
|
||||
def get_next_case(self, case):
|
||||
cases = list(self.get_cases())
|
||||
|
||||
try:
|
||||
return cases[cases.index(case) + 1]
|
||||
except IndexError:
|
||||
return None
|
||||
|
||||
def get_previous_case(self, case):
|
||||
cases = list(self.get_cases())
|
||||
|
||||
new_index = cases.index(case) - 1
|
||||
|
||||
if new_index < 0:
|
||||
return None
|
||||
else:
|
||||
return cases[new_index]
|
||||
|
||||
|
||||
def get_index_of_case(self, case, case_count=False):
|
||||
cases = list(self.get_cases())
|
||||
|
||||
if case_count:
|
||||
return cases.index(case), len(cases)
|
||||
else:
|
||||
return cases.index(case)
|
||||
|
||||
def get_case_by_index(
|
||||
self, case_index: int, case_count=False
|
||||
) -> Case | Tuple[Case, int]:
|
||||
|
||||
Reference in New Issue
Block a user