From dd33a728deb10d9aadf0115b7497fdc26e226560 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 1 Mar 2021 08:13:59 +0000 Subject: [PATCH] . --- generic/views.py | 9 +++++++++ longs/models.py | 14 +++++++++----- longs/tables.py | 2 +- longs/templates/longs/category_detail.html | 2 +- longs/templates/longs/index_old.html | 4 ++-- longs/templates/longs/long_display_block.html | 2 ++ longs/templates/longs/long_series_viewer.html | 5 +++-- longs/urls.py | 5 ++++- longs/views.py | 14 ++++++++++++-- 9 files changed, 43 insertions(+), 14 deletions(-) diff --git a/generic/views.py b/generic/views.py index 847884dc..c96c7dda 100644 --- a/generic/views.py +++ b/generic/views.py @@ -179,6 +179,15 @@ class ExamViews(View, LoginRequiredMixin): return redirect("{}:exam_overview".format(self.app_name), pk=pk) + @method_decorator(login_required) + def question_json_recreate(self, request, pk): + question = get_object_or_404(self.Question, pk=pk) + + question.recreate_json = True + question.save() + + return redirect("{}:question_detail".format(self.app_name), pk=pk) + @method_decorator(login_required) def exam_list(self, request): exams = self.Exam.objects.all() diff --git a/longs/models.py b/longs/models.py index 2db4aba7..91869388 100644 --- a/longs/models.py +++ b/longs/models.py @@ -119,7 +119,7 @@ class Long(models.Model): ) def get_absolute_url(self): - return reverse("longs:long_detail", kwargs={"pk": self.pk}) + return reverse("longs:question_detail", kwargs={"pk": self.pk}) def get_authors(self): """Returns a comma seperated text list of authors""" @@ -324,7 +324,7 @@ class LongSeries(models.Model): - def order_by_dicom_location(self): + def order_by_dicom(self, field="SliceLocation"): images = self.images.all() files = [] @@ -339,7 +339,7 @@ class LongSeries(models.Model): map = {} skipcount = 0 for i, f in files: - if hasattr(f, 'SliceLocation'): + if hasattr(f, field): slices.append(f) map[f.SliceLocation] = i else: @@ -348,7 +348,11 @@ class LongSeries(models.Model): print("skipped, no SliceLocation: {}".format(skipcount)) # ensure they are in the correct order - slices = sorted(slices, key=lambda s: s.SliceLocation) + if field == "SliceLocation": + slices = sorted(slices, key=lambda s: s.SliceLocation) + elif field == "InstanceNumber": + slices = sorted(slices, key=lambda s: s.InstanceNumber) + #print(slices) n = 1 @@ -390,7 +394,7 @@ class Note(models.Model): def get_absolute_url(self): self.pk = self.long_id - return reverse("longs:long_detail", kwargs={"pk": self.pk}) + return reverse("longs:question_detail", kwargs={"pk": self.pk}) def __str__(self): return "{} [{}] {}".format(self.long, self.author, self.created_on) diff --git a/longs/tables.py b/longs/tables.py index 4f261c1a..c1aebc63 100755 --- a/longs/tables.py +++ b/longs/tables.py @@ -52,7 +52,7 @@ class LongTable(tables.Table): "longs:long_update", text="Edit", args=[A("pk")], orderable=False ) view = tables.LinkColumn( - "longs:long_detail", text="View", args=[A("pk")], orderable=False + "longs:question_detail", text="View", args=[A("pk")], orderable=False ) clone = tables.LinkColumn( "longs:long_clone", text="Clone", args=[A("pk")], orderable=False diff --git a/longs/templates/longs/category_detail.html b/longs/templates/longs/category_detail.html index 214690f9..ff3bc6a0 100755 --- a/longs/templates/longs/category_detail.html +++ b/longs/templates/longs/category_detail.html @@ -4,7 +4,7 @@ {{category}}: