diff --git a/atlas/templates/atlas/case_display_block.html b/atlas/templates/atlas/case_display_block.html
index b153d898..2e8c4468 100755
--- a/atlas/templates/atlas/case_display_block.html
+++ b/atlas/templates/atlas/case_display_block.html
@@ -205,7 +205,14 @@
{% if can_edit%}
- {% include 'atlas/partials/resource_search_panel.html' %}
+
+
+
{% endif %}
diff --git a/atlas/urls.py b/atlas/urls.py
index 2ff9b81e..824d7145 100755
--- a/atlas/urls.py
+++ b/atlas/urls.py
@@ -50,6 +50,7 @@ urlpatterns = [
path("resource//view", views.resource_view, name="resource_view"),
path("resource//update", views.ResourceUpdate.as_view(), name="resource_update"),
path("resource//delete", views.ResourceDelete.as_view(), name="resource_delete"),
+ path("resource-search-panel/", views.resource_search_panel, name="resource_search_panel"),
path("resource-search-widget/", views.resource_search_widget, name="resource_search_widget"),
path(
diff --git a/atlas/views.py b/atlas/views.py
index f3dd8d13..434f1a89 100755
--- a/atlas/views.py
+++ b/atlas/views.py
@@ -4160,6 +4160,20 @@ def resource_search_widget(request):
return render(request, "atlas/partials/resource_search_widget_results.html", {"results": results, "field": field, "case_id": case_id})
+@login_required
+def resource_search_panel(request):
+ """HTMX endpoint: return the full resource search panel HTML fragment.
+
+ Expects optional GET param `case_id` to prefill the hidden field.
+ """
+ case_id = request.GET.get("case_id")
+ return render(request, "atlas/partials/resource_search_panel.html", {
+ "case": (Case.objects.filter(pk=case_id).first() if case_id else None),
+ "site_queryset": Site.objects.all(),
+ "subspecialty_queryset": Subspecialty.objects.all(),
+ })
+
+
@login_required
@require_POST
def case_attach_resource(request, pk):