Refactor collection case navigation and question handling
- Updated links in collection_case_priors.html to point to the new collection_case_questions view. - Modified collection_case_view_take.html to display case history using the new method. - Changed collection_detail.html to include links to the new collection_case_questions view. - Added new URL pattern for collection_case_questions in urls.py. - Refactored collection_case_details view to handle question-related logic and rendering. - Introduced new CaseQuestionForm for handling question submissions. - Created new migration to add override_history and redact_history fields to CaseDetail model. - Added new templates for collection_case_details.html and collection_case_questions.html to manage case questions. - Enhanced JavaScript functionality for dynamic question management in collection_case_questions.html. - Updated useranswer model fields in shorts app to improve feedback and scoring.
This commit is contained in:
@@ -1190,6 +1190,16 @@ class CaseDetail(models.Model):
|
||||
|
||||
sort_order = models.IntegerField(default=1000)
|
||||
|
||||
redact_history = models.BooleanField(
|
||||
default=False,
|
||||
help_text="Set to true if the history should be redacted whilst taking the case."
|
||||
)
|
||||
|
||||
override_history = models.TextField(
|
||||
null=True, blank=True,
|
||||
help_text="This will override the case history for the purpose of the exam/collection."
|
||||
)
|
||||
|
||||
class Meta:
|
||||
ordering = ("sort_order",)
|
||||
|
||||
@@ -1213,6 +1223,15 @@ class CaseDetail(models.Model):
|
||||
def default_viewerstate_string(self):
|
||||
return json.dumps(self.default_viewerstate) if self.default_viewerstate else "{}"
|
||||
|
||||
def get_history_pre(self):
|
||||
if self.collection.show_history_pre:
|
||||
if self.redact_history:
|
||||
return "[Redacted]"
|
||||
if self.override_history and self.override_history != "":
|
||||
return self.override_history
|
||||
return self.case.history
|
||||
return ""
|
||||
|
||||
class CasePrior(models.Model):
|
||||
case_detail = models.ForeignKey(CaseDetail, on_delete=models.CASCADE)
|
||||
prior_case = models.ForeignKey(Case, on_delete=models.CASCADE, related_name="prior_case")
|
||||
|
||||
Reference in New Issue
Block a user