From 9df896cf7a4e7e4b1a4ebbe3a39d8320683f6413 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 10 Sep 2025 10:56:59 +1000 Subject: [PATCH] Data import fix (#10298) * Data import fix - Improved error handling * Tweak frontend display of errors --- src/backend/InvenTree/importer/models.py | 15 +++++++++++++-- .../components/importer/ImportDataSelector.tsx | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/backend/InvenTree/importer/models.py b/src/backend/InvenTree/importer/models.py index 7dd533d269..468fe11542 100644 --- a/src/backend/InvenTree/importer/models.py +++ b/src/backend/InvenTree/importer/models.py @@ -693,9 +693,20 @@ class DataImportRow(models.Model): try: instance = self.session.model_class.objects.get(pk=instance_id) except self.session.model_class.DoesNotExist: - raise DjangoValidationError(_('No record found with the provided ID.')) + self.errors = { + 'non_field_errors': _('No record found with the provided ID') + + f': {instance_id}' + } + return False except ValueError: - raise DjangoValidationError(_('Invalid ID format provided.')) + self.errors = { + 'non_field_errors': _('Invalid ID format provided') + + f': {instance_id}' + } + return False + except Exception as e: + self.errors = {'non_field_errors': str(e)} + return False serializer = self.construct_serializer(instance=instance, request=request) diff --git a/src/frontend/src/components/importer/ImportDataSelector.tsx b/src/frontend/src/components/importer/ImportDataSelector.tsx index db0edc3fa3..db4556ab86 100644 --- a/src/frontend/src/components/importer/ImportDataSelector.tsx +++ b/src/frontend/src/components/importer/ImportDataSelector.tsx @@ -285,7 +285,7 @@ export default function ImporterDataSelector({ )} {!row.complete && !row.valid && ( - +