diff --git a/atlas/templates/atlas/base.html b/atlas/templates/atlas/base.html
index 02781cfe..38be337a 100755
--- a/atlas/templates/atlas/base.html
+++ b/atlas/templates/atlas/base.html
@@ -8,7 +8,7 @@
Atlas:
{% if request.user.is_authenticated %}
Collections /
- Cases /
+ Cases /
Series /
Categories /
Create Case /
diff --git a/atlas/templates/atlas/case_display_block.html b/atlas/templates/atlas/case_display_block.html
index efcfa7f8..423fcd52 100755
--- a/atlas/templates/atlas/case_display_block.html
+++ b/atlas/templates/atlas/case_display_block.html
@@ -45,6 +45,16 @@
Add new series
Import new uploads
+
+ +
+
+
+
{% comment %}
Scrapped: {{ case.scrapped }} /order_dicom",
+ views.case_order_dicom,
+ name="case_order_dicom",
+ ),
path(
"series//order_dicom",
views.series_order_dicom,
diff --git a/atlas/views.py b/atlas/views.py
index 372454af..9bd794e8 100755
--- a/atlas/views.py
+++ b/atlas/views.py
@@ -1006,6 +1006,27 @@ class FindingView(LoginRequiredMixin, SingleTableMixin, FilterView):
filterset_class = FindingFilter
+@login_required
+@user_is_author_or_atlas_series_checker
+def case_order_dicom(request, pk):
+ if request.htmx:
+ case = get_object_or_404(Case, pk=pk)
+
+ fail = []
+ for series in case.series.all():
+ try:
+ series.order_by_dicom()
+ except:
+ fail.append(series.pk)
+
+ if fail:
+ return HttpResponse(f"Unable to order series {','.join(fail)}")
+ else:
+ return HttpResponse("Series reordered")
+
+
+ raise Http404
+
@login_required
@user_is_author_or_atlas_series_checker