allow admin viewing of other user uploads
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>Uploaded dicoms</h2>
|
<h2>Uploaded dicoms</h2>
|
||||||
|
User: {{user}}<br/>
|
||||||
{% if not case %}
|
{% if not case %}
|
||||||
<div class="alert alert-info" role="alert">
|
<div class="alert alert-info" role="alert">
|
||||||
Series imported from here will be orphaned (not associated with a case). It is usually better to create a case first and then import directly into the case.
|
Series imported from here will be orphaned (not associated with a case). It is usually better to create a case first and then import directly into the case.
|
||||||
|
|||||||
@@ -37,8 +37,10 @@ urlpatterns = [
|
|||||||
path("collection/", views.CollectionView.as_view(), name="collection_view"),
|
path("collection/", views.CollectionView.as_view(), name="collection_view"),
|
||||||
path("collection/user", views.user_collections, name="user_collections"),
|
path("collection/user", views.user_collections, name="user_collections"),
|
||||||
path("uploads", views.user_uploads, name="user_uploads"),
|
path("uploads", views.user_uploads, name="user_uploads"),
|
||||||
|
path("uploads/<int:user_pk>/user", views.other_user_uploads, name="other_user_uploads"),
|
||||||
path("uploads/all", views.all_uploads, name="all_uploads"),
|
path("uploads/all", views.all_uploads, name="all_uploads"),
|
||||||
path("uploads/case/<int:case_id>", views.user_uploads, name="user_uploads_case"),
|
path("uploads/case/<int:case_id>", views.user_uploads, name="user_uploads_case"),
|
||||||
|
path("uploads/<int:user_pk>/user/case/<int:case_id>", views.other_user_uploads, name="other_user_uploads_case"),
|
||||||
path("uploads/series_id/<str:series_instance_uid>", views.user_uploads_series, name="user_uploads_series"),
|
path("uploads/series_id/<str:series_instance_uid>", views.user_uploads_series, name="user_uploads_series"),
|
||||||
path(
|
path(
|
||||||
"collection/create",
|
"collection/create",
|
||||||
|
|||||||
+10
-2
@@ -421,10 +421,18 @@ def user_uploads_series(request, series_instance_uid: str):
|
|||||||
def all_uploads(request, case_id: int | None = None):
|
def all_uploads(request, case_id: int | None = None):
|
||||||
return user_uploads(request, case_id, user_only=False)
|
return user_uploads(request, case_id, user_only=False)
|
||||||
|
|
||||||
|
@user_passes_test(lambda u: u.is_superuser)
|
||||||
|
def other_user_uploads(request, user_pk: int, case_id: int | None = None):
|
||||||
|
return user_uploads(request, case_id, user_only=False, user_pk=user_pk)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def user_uploads(request, case_id: int | None = None, user_only: bool = True):
|
def user_uploads(request, case_id: int | None = None, user_only: bool = True, user_pk: int | None = None):
|
||||||
|
user = request.user
|
||||||
if user_only:
|
if user_only:
|
||||||
dicoms = UncategorisedDicom.objects.filter(user=request.user)
|
dicoms = UncategorisedDicom.objects.filter(user=request.user)
|
||||||
|
elif user_pk is not None:
|
||||||
|
user = get_object_or_404(User, pk=user_pk)
|
||||||
|
dicoms = UncategorisedDicom.objects.filter(user=user)
|
||||||
else:
|
else:
|
||||||
dicoms = UncategorisedDicom.objects.filter()
|
dicoms = UncategorisedDicom.objects.filter()
|
||||||
|
|
||||||
@@ -452,7 +460,7 @@ def user_uploads(request, case_id: int | None = None, user_only: bool = True):
|
|||||||
case = get_object_or_404(Case, pk=case_id)
|
case = get_object_or_404(Case, pk=case_id)
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request, "atlas/user_uploads.html", {"series_list": series_list, "case": case}
|
request, "atlas/user_uploads.html", {"series_list": series_list, "case": case, "user": user}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user