diff --git a/atlas/templates/atlas/partials/case_list_item.html b/atlas/templates/atlas/partials/case_list_item.html
index 8dec3153..32aaae21 100644
--- a/atlas/templates/atlas/partials/case_list_item.html
+++ b/atlas/templates/atlas/partials/case_list_item.html
@@ -25,38 +25,44 @@
@@ -65,4 +71,17 @@
{% include 'atlas/partials/casedetails_management_links.html' %}
+ {# Pre-render hidden modal content for this case to avoid HTMX calls #}
+
+
+ {% include 'atlas/partials/case_field_modal.html' with field='history' content=casedetail.get_history_pre %}
+
+
+ {% include 'atlas/partials/case_field_modal.html' with field='discussion' content=casedetail.case.discussion %}
+
+
+ {% include 'atlas/partials/case_field_modal.html' with field='report' content=casedetail.case.report %}
+
+
+
diff --git a/atlas/templates/atlas/partials/casedetails_management_links.html b/atlas/templates/atlas/partials/casedetails_management_links.html
index 8cce6586..013b1634 100644
--- a/atlas/templates/atlas/partials/casedetails_management_links.html
+++ b/atlas/templates/atlas/partials/casedetails_management_links.html
@@ -23,6 +23,9 @@
{% endif %}
+
+
+
{% if casedetail.default_viewerstate %}
diff --git a/atlas/urls.py b/atlas/urls.py
index 8d670e67..dcc25810 100755
--- a/atlas/urls.py
+++ b/atlas/urls.py
@@ -228,11 +228,6 @@ urlpatterns = [
name="collection_case_dicom_json_review",
),
# Partial endpoint to return a single case field (history/discussion/report) for modal display
- path(
- "collection//case//field/",
- views.collection_case_field_partial,
- name="collection_case_field_partial",
- ),
path(
"collection//case/id//dicom_json/review",
diff --git a/atlas/views.py b/atlas/views.py
index abd7b549..02129413 100755
--- a/atlas/views.py
+++ b/atlas/views.py
@@ -4339,35 +4339,6 @@ def collection_case_dicom_json(request, exam_id, case_id, review=False):
return JsonResponse(casedetail.case.get_case_dicom_json(priors=priors))
-def collection_case_field_partial(request, exam_id, case_number, field):
- """Return a small HTML partial containing a single field (history/discussion/report)
- for the given case in a collection. Supports case_number (index) or case_id (pk).
- """
- # Support either case_number (index) or case_id (case PK)
- try:
- casedetail = CaseDetail.objects.get(case=case_number, collection=exam_id)
- except Exception:
- collection = get_object_or_404(CaseCollection, pk=exam_id)
- try:
- case_obj = collection.get_case_by_index(int(case_number))
- casedetail = CaseDetail.objects.get(case=case_obj, collection=collection)
- except Exception:
- raise Http404("Case not found in collection")
-
- field = field.lower()
- if field == "history":
- # Use casedetail helper to respect redact/override/collection settings when appropriate
- content = casedetail.get_history_pre() if hasattr(casedetail, "get_history_pre") else (casedetail.case.history or "")
- elif field == "discussion":
- content = casedetail.case.discussion or ""
- elif field == "report":
- content = casedetail.case.report or ""
- else:
- raise Http404("Unknown field")
-
- return render(request, "atlas/partials/case_field_modal.html", {"casedetail": casedetail, "field": field, "content": content})
-
-
def case_dicom_json(request, pk):
case = get_object_or_404(Case, pk=pk)