diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/data_importer.py | 8 | ||||
-rw-r--r-- | ishtar_common/models.py | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index f6e43c683..d9d7a4bac 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -1493,8 +1493,12 @@ class Importer(object): for formater, val in self._post_processing: formater.post_process(obj, data, val, owner=self.history_modifier) - - self.post_processing(idx_line, obj) + try: + self.post_processing(idx_line, obj) + except ImporterError as import_error: + msg = str(import_error) + if not any(1 for error in self.IGNORE_ERRORS if error in msg): + self.errors.append((self.idx_line, None, msg)) return data def _row_processing(self, c_row, idx_col, idx_line, val, data): diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 8ffc2ff2f..95dd5cac2 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -80,7 +80,7 @@ from django.template.defaultfilters import slugify from django.urls import reverse from django.utils.functional import lazy from django.utils.safestring import mark_safe -from ishtar_common.data_importer import post_importer_action +from ishtar_common.data_importer import ImporterError, post_importer_action from ishtar_common.utils import ( ugettext_lazy as _, ugettext, @@ -5908,11 +5908,11 @@ class Document( Container = apps.get_model("archaeological_warehouse", "Container") try: container = Container.objects.get(code=code) - except DoesNotExist: - raise ImportError( + except ObjectDoesNotExist: + raise ImporterError( str(_("Container with code {} not found.")).format(code)) except MultipleObjectsReturned: - raise ImportError( + raise ImporterError( str(_("Multiple containers with code {} found.")).format(code)) self.__class__.objects.filter(pk=self.id).update( **{target: container.pk}) |