From 07d766cb30c5800ea18e1fd77c1b98be70750774 Mon Sep 17 00:00:00 2001
From: Ross
Date: Mon, 22 Jul 2024 11:35:37 +0100
Subject: [PATCH] fix some collection issues
---
atlas/models.py | 17 ++++++++++++--
.../atlas/collection_case_detail.html | 9 ++++++++
atlas/templates/atlas/collection_detail.html | 15 +++++++++++++
atlas/urls.py | 5 +++++
atlas/views.py | 22 +++++++++++++++++++
5 files changed, 66 insertions(+), 2 deletions(-)
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 @@