further improvements
This commit is contained in:
+38
-18
@@ -291,18 +291,39 @@ def author_list(request):
|
||||
|
||||
return render(request, "atlas/author_list.html", {"authors": authors})
|
||||
|
||||
|
||||
def index(request):
|
||||
return render(request, "atlas/index.html", {})
|
||||
|
||||
|
||||
def user_collections(request):
|
||||
collections = request.user.user_casecollection_exams.all()
|
||||
|
||||
return render(request, "atlas/user_collections.html", {"collections": collections})
|
||||
|
||||
def user_uploads(request):
|
||||
|
||||
def user_uploads(request, case_id: int | None = None):
|
||||
dicoms = UncategorisedDicom.objects.filter(user=request.user)
|
||||
|
||||
return render(request, "atlas/user_uploads.html", {"dicoms": dicoms})
|
||||
data = defaultdict(list)
|
||||
for d in dicoms:
|
||||
tags = d.get_basic_dicom_tags()
|
||||
|
||||
data[tags["SeriesInstanceUID"]].append(tags)
|
||||
|
||||
series_list = []
|
||||
for series in data:
|
||||
series_list.append((series, len(data[series]), data[series][0]))
|
||||
print(series_list)
|
||||
|
||||
case = False
|
||||
if case_id is not None:
|
||||
case = get_object_or_404(Case, pk=case_id)
|
||||
|
||||
return render(
|
||||
request, "atlas/user_uploads.html", {"series_list": series_list, "case": case}
|
||||
)
|
||||
|
||||
|
||||
class CaseDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
|
||||
model = Case
|
||||
@@ -1319,7 +1340,6 @@ def collection_take_overview(
|
||||
return HttpResponse("True")
|
||||
else:
|
||||
raise Http404()
|
||||
|
||||
|
||||
cases = collection.cases.all().order_by("casedetail__sort_order").prefetch_related()
|
||||
|
||||
@@ -1361,7 +1381,6 @@ def collection_take_overview(
|
||||
)
|
||||
|
||||
|
||||
|
||||
def collection_case_view_take_user(request, pk: int, case_number: int):
|
||||
return collection_case_view_take(request, pk, case_number)
|
||||
|
||||
@@ -1402,9 +1421,7 @@ def collection_case_view_take(
|
||||
cid_user_exam.start_time = timezone.now()
|
||||
cid_user_exam.save()
|
||||
|
||||
|
||||
if not collection.review_only():
|
||||
|
||||
if collection.collection_type == "REP":
|
||||
case_detail = CaseDetail.objects.get(case=case, collection=collection)
|
||||
|
||||
@@ -1419,7 +1436,6 @@ def collection_case_view_take(
|
||||
|
||||
if request.method == "POST":
|
||||
if collection.collection_type == "REP":
|
||||
|
||||
if not collection.publish_results:
|
||||
if answer:
|
||||
form = ReportAnswerForm(request.POST, instance=answer)
|
||||
@@ -1534,7 +1550,6 @@ def collection_case_view(request, pk, case_number):
|
||||
form = None
|
||||
answer = None
|
||||
|
||||
|
||||
case, case_count = collection.get_case_by_index(case_number, case_count=True)
|
||||
|
||||
series_list = case.series.all().prefetch_related("images", "examination", "plane")
|
||||
@@ -1558,11 +1573,13 @@ def collection_case_view(request, pk, case_number):
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def case_dicom_json(request, pk):
|
||||
case = get_object_or_404(Case, pk=pk)
|
||||
|
||||
return JsonResponse(case.get_case_dicom_json())
|
||||
|
||||
|
||||
@user_is_collection_author_or_atlas_editor
|
||||
def delete_collection_cid_answers(request, exam_id, cid):
|
||||
collection = get_object_or_404(CaseCollection, pk=exam_id)
|
||||
@@ -1755,6 +1772,7 @@ GenericExamViews = ExamViews(
|
||||
CaseCollection, Case, None, CidReportAnswer, "atlas", "casecollection"
|
||||
)
|
||||
|
||||
|
||||
class CollectionCloneMixin:
|
||||
def get_initial(self):
|
||||
old_object = get_object_or_404(self.model, pk=self.kwargs["exam_id"])
|
||||
@@ -1777,13 +1795,15 @@ class CollectionCloneMixin:
|
||||
object.save()
|
||||
return HttpResponseRedirect(object.get_absolute_url())
|
||||
|
||||
|
||||
class CollectionClone(CollectionCloneMixin, CaseCollectionCreate):
|
||||
"""Clone exam view"""
|
||||
|
||||
|
||||
class SelfReviewDelete(DeleteView):
|
||||
model = SelfReview
|
||||
template_name = "confirm_delete.html"
|
||||
#success_url = reverse_lazy("atlas:finding_view")
|
||||
# success_url = reverse_lazy("atlas:finding_view")
|
||||
|
||||
def get_initial(self):
|
||||
user_exam_id = self.kwargs["user_exam_id"]
|
||||
@@ -1806,9 +1826,8 @@ class SelfReviewDelete(DeleteView):
|
||||
def get_success_url(self) -> str:
|
||||
return self.user_exam.exam.get_case_take_url(self.case)
|
||||
|
||||
class SelfReviewUpdate(
|
||||
UpdateView
|
||||
):
|
||||
|
||||
class SelfReviewUpdate(UpdateView):
|
||||
model = SelfReview
|
||||
form_class = SelfReviewForm
|
||||
|
||||
@@ -1833,10 +1852,10 @@ class SelfReviewUpdate(
|
||||
def get_success_url(self) -> str:
|
||||
return self.user_exam.exam.get_case_take_url(self.case)
|
||||
|
||||
#def get_object(self):
|
||||
# def get_object(self):
|
||||
# return self.review
|
||||
# return
|
||||
#def get_initial(self):
|
||||
# def get_initial(self):
|
||||
# user_exam_id = self.kwargs["user_exam_id"]
|
||||
# case_id = self.kwargs["case_id"]
|
||||
|
||||
@@ -1844,6 +1863,7 @@ class SelfReviewUpdate(
|
||||
# self.case = get_object_or_404(Case, pk=case_id)
|
||||
# return {"user_exam": user_exam_id, "case": case_id}
|
||||
|
||||
|
||||
class AddSelfReview(CreateView):
|
||||
model = SelfReview
|
||||
form_class = SelfReviewForm
|
||||
@@ -1854,7 +1874,7 @@ class AddSelfReview(CreateView):
|
||||
kwargs = super(AddSelfReview, self).get_form_kwargs()
|
||||
# update the kwargs for the form init method with yours
|
||||
kwargs.update(self.kwargs) # self.kwargs contains all url conf params
|
||||
#kwargs.update({"user": self.request.user})
|
||||
# kwargs.update({"user": self.request.user})
|
||||
return kwargs
|
||||
|
||||
def get_initial(self):
|
||||
@@ -1874,7 +1894,8 @@ class AddSelfReview(CreateView):
|
||||
|
||||
def get_success_url(self) -> str:
|
||||
return self.user_exam.exam.get_case_take_url(self.case)
|
||||
#return reverse("atlas:collection_take_overview_user", kwargs={"pk": self.user_exam.collection.id })
|
||||
# return reverse("atlas:collection_take_overview_user", kwargs={"pk": self.user_exam.collection.id })
|
||||
|
||||
|
||||
# def form_valid(self, form):
|
||||
# model = form.save(commit=False)
|
||||
@@ -1892,7 +1913,6 @@ def uncategorised_dicoms(request):
|
||||
|
||||
data = []
|
||||
for d in dicoms:
|
||||
|
||||
data.append((d.image.name, d.get_basic_dicom_tags()))
|
||||
|
||||
return JsonResponse(data, safe=False)
|
||||
return JsonResponse(data, safe=False)
|
||||
|
||||
Reference in New Issue
Block a user