diff --git a/longs/models.py b/longs/models.py
index c5558cc0..19d9cfd1 100644
--- a/longs/models.py
+++ b/longs/models.py
@@ -285,6 +285,27 @@ class LongSeries(models.Model):
"
{}
{}
Images: {}
", examination, thumb, image_number
)
+ def order_by_upload_filename(self):
+ images = self.images.all()
+
+ filenames = []
+ map = []
+
+ for i in images:
+ filenames.append((i, i.upload_filename))
+ map[i.upload_filename] = i
+
+ filenames = sorted(filenames)
+
+ n = 1
+ for f in filenames:
+ i = map[f]
+ i.position = n
+ i.save()
+ n = n + 1
+
+
+
def order_by_dicom_location(self):
images = self.images.all()
diff --git a/longs/templates/longs/long_series_viewer.html b/longs/templates/longs/long_series_viewer.html
index 24acf325..9d5df5cf 100755
--- a/longs/templates/longs/long_series_viewer.html
+++ b/longs/templates/longs/long_series_viewer.html
@@ -14,6 +14,8 @@ This series is not associated with any cases.
Author: {{ series.get_author_display }}
+Order dicoms
+Order by uploaded filename
{% for image in series.images.all %}
{{image.image.url}}, pos: {{image.position}}, {{image.upload_filename}}
diff --git a/longs/urls.py b/longs/urls.py
index 7252f3f6..0487e8d8 100755
--- a/longs/urls.py
+++ b/longs/urls.py
@@ -12,6 +12,7 @@ urlpatterns = [
path("series/", views.LongSeriesView.as_view(), name="long_series_view"),
path("series/", views.long_series_detail, name="long_series_detail"),
path("series//order_dicom", views.long_series_order_dicom, name="long_series_order_dicom"),
+ path("series//order_upload_filename", views.long_series_order_upload_filename, name="long_series_order_upload_filename"),
path("series//delete", views.LongSeriesDelete.as_view(), name="long_series_delete"),
# path("unchecked/", views.unchecked_list, name="unchecked_list"),
# path("verified//", views.verified_detail, name="verified_detail"),
diff --git a/longs/views.py b/longs/views.py
index b47b0f8d..91d60f91 100755
--- a/longs/views.py
+++ b/longs/views.py
@@ -940,4 +940,11 @@ def long_series_order_dicom(request, pk):
return redirect("longs:long_series_detail", pk=pk)
+@login_required
+def long_series_order_upload_filename(request, pk):
+ series = get_object_or_404(LongSeries, pk=pk)
+ series.order_by_upload_filename()
+
+ return redirect("longs:long_series_detail", pk=pk)
+
LongExamViews = ExamViews(Exam, Long, "longs", "long", loadJsonAnswer)
\ No newline at end of file