add some new functions to case series
This commit is contained in:
@@ -1848,6 +1848,16 @@ def collection_dicom_json(request, pk):
|
||||
|
||||
return JsonResponse(collection.get_ohif_dicom_json())
|
||||
|
||||
@user_is_author_or_atlas_editor
|
||||
def use_dates_as_descriptions(request, pk):
|
||||
case = get_object_or_404(Case, pk=pk)
|
||||
|
||||
series: Series
|
||||
for series in case.series.all():
|
||||
series.use_date_as_description()
|
||||
|
||||
return HttpResponse("Done")
|
||||
|
||||
def case_dicom_json(request, pk):
|
||||
case = get_object_or_404(Case, pk=pk)
|
||||
|
||||
@@ -2194,3 +2204,39 @@ def uncategorised_dicoms(request):
|
||||
data.append((d.image.name, d.get_basic_dicom_tags()))
|
||||
|
||||
return JsonResponse(data, safe=False)
|
||||
|
||||
|
||||
@login_required
|
||||
def combine_series(request):
|
||||
"""Combines a list of series into the first series in the list
|
||||
|
||||
NOTE: this will only migrate images
|
||||
it will not migrate other models such as SeriesFinding or other details
|
||||
"""
|
||||
series_ids = request.POST.getlist("series-ids")
|
||||
#series = get_object_or_404(Series, pk=series_id)
|
||||
if len(series_ids) < 2:
|
||||
return HttpResponse("Not enough series to combine")
|
||||
|
||||
base_series = None
|
||||
series_to_add = []
|
||||
|
||||
for n, series_id in enumerate(series_ids):
|
||||
series = get_object_or_404(Series, pk=series_id)
|
||||
if not series.check_user_can_edit(request.user):
|
||||
return HttpResponse("You do not have permission to edit one of the series")
|
||||
|
||||
if n == 0:
|
||||
base_series = series
|
||||
else:
|
||||
series_to_add.append(series)
|
||||
|
||||
for series in series_to_add:
|
||||
for image in series.images.all():
|
||||
image.series = base_series
|
||||
image.save()
|
||||
|
||||
series.delete()
|
||||
|
||||
return HttpResponse(f"Series {series_ids} combines")
|
||||
#return HttpResponse("Fail")
|
||||
Reference in New Issue
Block a user