Refactor case detail retrieval into a separate function for improved readability and error handling
This commit is contained in:
+13
-4
@@ -303,10 +303,9 @@ def case_displaysets_delete(request, pk):
|
|||||||
displayset.delete()
|
displayset.delete()
|
||||||
return HttpResponse("<li class='list-group-item' >Display set deleted successfully.")
|
return HttpResponse("<li class='list-group-item' >Display set deleted successfully.")
|
||||||
|
|
||||||
@login_required
|
|
||||||
@user_has_case_view_access
|
def get_case_for_case_detail(pk: int) -> Case:
|
||||||
def case_detail(request, pk):
|
try:
|
||||||
# Prefetch all related objects needed for the template
|
|
||||||
case = (
|
case = (
|
||||||
Case.objects
|
Case.objects
|
||||||
.select_related() # Add any FK fields if needed
|
.select_related() # Add any FK fields if needed
|
||||||
@@ -344,6 +343,14 @@ def case_detail(request, pk):
|
|||||||
.get(pk=pk)
|
.get(pk=pk)
|
||||||
)
|
)
|
||||||
case.ordered_series = [sd.series for sd in case.seriesdetail_set.all()]
|
case.ordered_series = [sd.series for sd in case.seriesdetail_set.all()]
|
||||||
|
return case
|
||||||
|
except Case.DoesNotExist:
|
||||||
|
raise Http404("Case not found.")
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
@user_has_case_view_access
|
||||||
|
def case_detail(request, pk):
|
||||||
|
case = get_case_for_case_detail(pk)
|
||||||
can_edit = case.check_user_can_edit(request.user)
|
can_edit = case.check_user_can_edit(request.user)
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
@@ -2853,6 +2860,8 @@ def collection_case_view(request, pk, case_number):
|
|||||||
|
|
||||||
case, case_count = collection.get_case_by_index(case_number, case_count=True)
|
case, case_count = collection.get_case_by_index(case_number, case_count=True)
|
||||||
|
|
||||||
|
case = get_case_for_case_detail(case.pk)
|
||||||
|
|
||||||
casedetail = CaseDetail.objects.get(case=case, collection=collection)
|
casedetail = CaseDetail.objects.get(case=case, collection=collection)
|
||||||
|
|
||||||
series_list = case.series.all().prefetch_related("images", "examination", "plane")
|
series_list = case.series.all().prefetch_related("images", "examination", "plane")
|
||||||
|
|||||||
Reference in New Issue
Block a user