diff --git a/atlas/api.py b/atlas/api.py index 20d7f342..7733bfc4 100644 --- a/atlas/api.py +++ b/atlas/api.py @@ -74,7 +74,7 @@ def uncategorised_dicoms(request): return data -@router.get("/import_dicoms", auth=django_auth) +@router.get("/import_dicoms", auth=django_auth, response=List[SeriesSchema]) def import_dicoms(request): dicoms = UncategorisedDicom.objects.filter(user=request.user) @@ -84,6 +84,7 @@ def import_dicoms(request): data[tags["SeriesInstanceUID"]].append((d, tags)) + series_list = [] for series_uid in data: modality = get_object_or_404(Modality, short_code=tags["Modality"]) @@ -106,10 +107,12 @@ def import_dicoms(request): for dicom, dicom_tags in data[series_uid]: series_image = SeriesImage(image=dicom.image, series=series) series_image.save() + dicom.image.delete() dicom.delete() + series_list.append(series) - return {} + return series_list @router.get("/orphan_series", auth=django_auth, response=List[SeriesSchema]) def orphan_series(request): diff --git a/atlas/templates/atlas/index.html b/atlas/templates/atlas/index.html index 9f91df1c..1b8bbe1f 100644 --- a/atlas/templates/atlas/index.html +++ b/atlas/templates/atlas/index.html @@ -3,6 +3,7 @@ {% block content %}

Atlas

-Available collections +Available collections
+My uploads {% endblock %} \ No newline at end of file diff --git a/atlas/templates/atlas/user_uploads.html b/atlas/templates/atlas/user_uploads.html new file mode 100644 index 00000000..ee30fdd3 --- /dev/null +++ b/atlas/templates/atlas/user_uploads.html @@ -0,0 +1,36 @@ +{% extends 'atlas/base.html' %} + +{% block content %} +

Uploaded dicoms

+ + +{% if dicoms %} + + + + + + +
+ +
+ {% else %} + No uploads awaiting importing have been found. +{% endif %} + +

View orphan series

+ +{% endblock %} diff --git a/atlas/urls.py b/atlas/urls.py index b3087a7c..90af8aaa 100755 --- a/atlas/urls.py +++ b/atlas/urls.py @@ -34,6 +34,7 @@ urlpatterns = [ path("case/", views.CaseView.as_view(), name="case_view"), 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( "collection/create", views.CaseCollectionCreate.as_view(), diff --git a/atlas/views.py b/atlas/views.py index c45f5832..b9c8a66e 100755 --- a/atlas/views.py +++ b/atlas/views.py @@ -299,6 +299,11 @@ def user_collections(request): return render(request, "atlas/user_collections.html", {"collections": collections}) +def user_uploads(request): + dicoms = UncategorisedDicom.objects.filter(user=request.user) + + return render(request, "atlas/user_uploads.html", {"dicoms": dicoms}) + class CaseDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView): model = Case success_url = reverse_lazy("atlas:case_view")