diff --git a/atlas/models.py b/atlas/models.py index c0aef884..19338d70 100644 --- a/atlas/models.py +++ b/atlas/models.py @@ -1028,6 +1028,12 @@ class SeriesDetail(models.Model): class CaseDetail(models.Model): + """A through table that stores the relationship between a case and a collection. + + This is what user answers are linked to (as there be different questions for the same case in a different collection) + + The collection questions and answers are also defined here. + """ case = models.ForeignKey(Case, on_delete=models.CASCADE) collection = models.ForeignKey(CaseCollection, on_delete=models.CASCADE) @@ -1109,8 +1115,15 @@ class BaseReportAnswer(models.Model): for name, value in self.question.question_schema["properties"].items(): print(name, value) - user_answer = self.json_answer[name] - correct_answer = self.question.question_answers[name] + try: + user_answer = self.json_answer[name] + except KeyError: # If the schema has changed? + user_answer = "" + try: + correct_answer = self.question.question_answers[name] + except KeyError: # If the schema has changed? + correct_answer = "" + print(correct_answer) match value: diff --git a/atlas/templates/atlas/collection_case_detail.html b/atlas/templates/atlas/collection_case_detail.html index 3c354061..146eb488 100644 --- a/atlas/templates/atlas/collection_case_detail.html +++ b/atlas/templates/atlas/collection_case_detail.html @@ -18,6 +18,15 @@
A question schema has been defined but no question answers are found.
+This form allows you to add questions to a case. A example of how the quesiton will be displayed is shown below.
If answers are supplied the question will be automarked
diff --git a/atlas/templates/atlas/collection_detail.html b/atlas/templates/atlas/collection_detail.html index be4c840c..8b7ee981 100644 --- a/atlas/templates/atlas/collection_detail.html +++ b/atlas/templates/atlas/collection_detail.html @@ -44,6 +44,21 @@ + +Manage answers for this collection.
+ + Please note these are permanant and cannot be undone. +