.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<div class="atlas {% if case.scrapped %}atlas-scrapped{% endif %}">
|
||||
<div><a href="https://viewer.penracourses.org.uk/viewer/dicomjson?url=https://www.penracourses.org.uk{% url 'atlas:case_dicom_json' case.pk %}">View case in OHIF</a></div>
|
||||
<div><a href="https://viewer.penracourses.org.uk/viewer/dicomjson?url=https://www.penracourses.org.uk{% url 'atlas:case_dicom_json' case.pk %}">View case in OHIF</a> <a target="_blank" href="https://viewer.penracourses.org.uk/viewer/dicomjson?url=https://www.penracourses.org.uk{% url 'atlas:case_dicom_json' case.pk %}">(new tab)</a></div>
|
||||
|
||||
<div class="date">
|
||||
{{ case.created_date|date:"d/m/Y" }}
|
||||
|
||||
@@ -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/<int:case_id>", views.user_uploads, name="user_uploads_case"),
|
||||
path("uploads/series_id/<str:series_instance_uid>", views.user_uploads_series, name="user_uploads_series"),
|
||||
path(
|
||||
|
||||
+14
-5
@@ -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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user