diff --git a/atlas/templates/atlas/case_display_block.html b/atlas/templates/atlas/case_display_block.html
index 65945248..0bbd4484 100755
--- a/atlas/templates/atlas/case_display_block.html
+++ b/atlas/templates/atlas/case_display_block.html
@@ -1,5 +1,5 @@
-
+
{{ case.created_date|date:"d/m/Y" }}
diff --git a/atlas/urls.py b/atlas/urls.py
index 7010921c..d6c00262 100755
--- a/atlas/urls.py
+++ b/atlas/urls.py
@@ -36,6 +36,7 @@ urlpatterns = [
path("collection/", views.CollectionView.as_view(), name="collection_view"),
path("collection/user", views.user_collections, name="user_collections"),
path("uploads", views.user_uploads, name="user_uploads"),
+ path("uploads/all", views.all_uploads, name="all_uploads"),
path("uploads/case/", views.user_uploads, name="user_uploads_case"),
path("uploads/series_id/", views.user_uploads_series, name="user_uploads_series"),
path(
diff --git a/atlas/views.py b/atlas/views.py
index f3b7ec22..a8ac8aa7 100755
--- a/atlas/views.py
+++ b/atlas/views.py
@@ -412,10 +412,17 @@ def user_uploads_series(request, series_instance_uid: str):
{"dicoms": dicoms, "series_id": series_instance_uid},
)
+@login_required
+@user_passes_test(lambda u: u.is_superuser)
+def all_uploads(request, case_id: int | None = None):
+ user_uploads(request, case_id, user_only=False)
@login_required
-def user_uploads(request, case_id: int | None = None):
- dicoms = UncategorisedDicom.objects.filter(user=request.user)
+def user_uploads(request, case_id: int | None = None, user_only: bool = True):
+ if user_only:
+ dicoms = UncategorisedDicom.objects.filter(user=request.user)
+ else:
+ dicoms = UncategorisedDicom.objects.filter()
data = defaultdict(list)
for d in dicoms:
@@ -1039,7 +1046,6 @@ 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)
@@ -1047,12 +1053,15 @@ def case_order_dicom(request, pk):
fail = []
for series in case.series.all():
try:
- series.order_by_dicom()
+ if request.user in series.get_author_objects():
+ series.order_by_dicom()
+ else:
+ fail.append(series.pk)
except:
fail.append(series.pk)
if fail:
- return HttpResponse(f"Unable to order series {','.join(fail)}")
+ return HttpResponse(f"Unable to order series {','.join([str(i) for i in fail])}")
else:
return HttpResponse("Series reordered")