Add toggle functionality for pre-review flag on case resources
This commit is contained in:
+34
-3
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user