Add toggle functionality for pre-review flag on case resources

This commit is contained in:
Ross
2025-12-15 11:15:56 +00:00
parent cbff1317d0
commit 4db1f2ca1a
3 changed files with 40 additions and 7 deletions
+34 -3
View File
@@ -4022,7 +4022,6 @@ def resource_search_widget(request):
Returns rendered partial `atlas/partials/resource_search_widget_results.html`.
"""
from .models import Resource
q = request.GET.get("q", "").strip()
site = request.GET.get("site")
@@ -4073,7 +4072,6 @@ def case_attach_resource(request, pk):
resource_id = request.POST.get("resource_id")
pre_review = request.POST.get("pre_review", "0") == "1"
from .models import Resource, CaseResource
try:
resource = Resource.objects.get(pk=int(resource_id))
except Exception:
@@ -4104,7 +4102,6 @@ def case_detach_resource(request, pk):
if not case.check_user_can_edit(request.user):
return HttpResponse(status=403)
resource_id = request.POST.get("resource_id")
from .models import CaseResource
try:
cr = CaseResource.objects.filter(case=case, resource__id=int(resource_id))
cr.delete()
@@ -4121,6 +4118,40 @@ def case_detach_resource(request, pk):
return resp
@login_required
@require_POST
def case_toggle_resource_pre(request, pk):
"""Toggle the pre_review flag on a CaseResource (HTMX POST).
POST params:
- resource_id: integer
Returns the updated `atlas/partials/case_resources_list.html` fragment.
"""
case = get_case_for_case_detail(pk)
if not case.check_user_can_edit(request.user):
return HttpResponse(status=403)
resource_id = request.POST.get("resource_id")
try:
cr = CaseResource.objects.get(case=case, resource__id=int(resource_id))
except Exception:
return HttpResponse(status=400)
cr.pre_review = not bool(cr.pre_review)
cr.save()
# Refresh case from DB to ensure related sets reflect changes and render updated list
try:
case = Case.objects.get(pk=case.pk)
except Exception:
pass
html = render_to_string("atlas/partials/case_resources_list.html", {"case": case}, request=request)
resp = HttpResponse(html)
resp["HX-Trigger"] = json.dumps({"caseResourcesChanged": {"case_id": case.pk}})
return resp
def series_dicom_json(request, pk):
series = get_object_or_404(Series, pk=pk)