see if atomic transactions fixes case uploads
This commit is contained in:
+6
-2
@@ -3,6 +3,8 @@ from typing import List, Tuple
|
||||
from django.shortcuts import get_object_or_404
|
||||
from ninja import ModelSchema, Router, Schema, Field
|
||||
|
||||
from django.db import transaction
|
||||
|
||||
# from .decorators import user_is_author_or_rapid_checker
|
||||
from django.core.exceptions import PermissionDenied
|
||||
import pydicom
|
||||
@@ -123,7 +125,8 @@ def import_dicoms_helper(request, case_id: int | None = None):
|
||||
|
||||
# Check if series with the id already exists (in which case we just add to htat)
|
||||
try:
|
||||
series = Series.objects.get(series_instance_uid=tags["SeriesInstanceUID"])
|
||||
with transaction.atomic():
|
||||
series = Series.objects.get(series_instance_uid=tags["SeriesInstanceUID"])
|
||||
except Series.DoesNotExist:
|
||||
series = Series(
|
||||
modality=modality,
|
||||
@@ -240,7 +243,8 @@ def check_images_hashes(request, hashes: List[str]):
|
||||
for hash in hashes:
|
||||
try:
|
||||
# TOOD also check against uncategorised dicoms?
|
||||
series_image = SeriesImage.objects.get(image_blake3_hash=hash)
|
||||
with transaction.atomic():
|
||||
series_image = SeriesImage.objects.get(image_blake3_hash=hash)
|
||||
data = {
|
||||
"id": series_image.pk,
|
||||
"url": series_image.series.get_absolute_url(),
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
console.log(event);
|
||||
if (event.data.type == "open") {
|
||||
document.getElementById("viewer").src = event.data.url;
|
||||
document.querySelectorAll("[data-cy='seriesList-btn']")[0].click()
|
||||
bc.postMessage({"type": "open-complete", "url" : event.data.url});
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user