This commit is contained in:
Ross
2024-02-12 21:42:22 +00:00
parent b9cdbb98ef
commit 268a8addda
3 changed files with 16 additions and 6 deletions
@@ -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" }}
+1
View File
@@ -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
View File
@@ -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")