Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Generated by Django 4.2.25 on 2025-10-17 17:24

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("cases", "0021_dicomimagesetupload_task_on_success"),
]

operations = [
migrations.AlterField(
model_name="rawimageuploadsession",
name="error_message",
field=models.TextField(blank=True, default=""),
preserve_default=False,
),
]
8 changes: 5 additions & 3 deletions app/grandchallenge/cases/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,13 +131,13 @@ class RawImageUploadSession(UUIDModel):
blank=True, null=True, default=None, editable=False
)

error_message = models.TextField(blank=False, null=True, default=None)
error_message = models.TextField(blank=True)
Comment thread
jmsmkn marked this conversation as resolved.

def __str__(self):
return (
f"Upload Session <{str(self.pk).split('-')[0]}>, "
f"({self.get_status_display()}) "
f"{self.error_message or ''}"
f"{self.error_message}"
)

def save(self, *args, **kwargs):
Expand Down Expand Up @@ -170,6 +170,8 @@ def default_error_message(self):
return (
f"{n_errors} file{pluralize(n_errors)} could not be imported"
)
else:
return ""

def get_error_handler(self, *, linked_object=None):
return RawImageUploadSessionErrorHandler(
Expand Down Expand Up @@ -201,7 +203,7 @@ def update_status(
self.error_message = notification_description
self.save()

if self.error_message and self.creator:
if notification_description and self.creator:
Notification.send(
kind=NotificationTypeChoices.IMAGE_IMPORT_STATUS,
description=notification_description,
Expand Down
6 changes: 3 additions & 3 deletions app/grandchallenge/components/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2541,9 +2541,9 @@ def _create_civ_for_image( # noqa: C901
f"You need to provide a user along with the user upload "
f"queryset for interface {ci}"
)
upload_session = RawImageUploadSession.objects.create(
creator=user
)
upload_session = RawImageUploadSession(creator=user)
upload_session.full_clean()
Comment thread
jmsmkn marked this conversation as resolved.
Outdated
upload_session.save()
upload_session.user_uploads.set(user_upload_queryset)

upload_session.process_images(
Expand Down
4 changes: 2 additions & 2 deletions app/tests/cases_tests/test_background_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def test_staged_mhd_upload_with_additional_headers(

session.refresh_from_db()
assert session.status == session.SUCCESS
assert session.error_message is None
assert not session.error_message

images = Image.objects.filter(origin=session).all()
assert len(images) == 1
Expand Down Expand Up @@ -189,7 +189,7 @@ def test_mhd_file_annotation_creation(

session.refresh_from_db()
assert session.status == session.SUCCESS
assert session.error_message is None
assert not session.error_message

images = Image.objects.filter(origin=session).all()
assert len(images) == 1
Expand Down
2 changes: 1 addition & 1 deletion app/tests/components_tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -1595,7 +1595,7 @@ def test_displacement_field_validation(
session.refresh_from_db()

assert session.status == session.SUCCESS
assert session.error_message is None
assert not session.error_message

image = Image.objects.filter(origin=session).get()

Expand Down
4 changes: 2 additions & 2 deletions app/tests/reader_studies_tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -1270,7 +1270,7 @@ def test_ground_truth(client):
@pytest.mark.parametrize(
"overlay_segments,error",
(
([], None),
([], ""),
(
[{"name": "s1", "visible": True, "voxel_value": 0}],
(
Expand All @@ -1283,7 +1283,7 @@ def test_ground_truth(client):
{"name": "s1", "visible": True, "voxel_value": 0},
{"name": "s2", "visible": True, "voxel_value": 1},
],
None,
"",
),
),
)
Expand Down