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