summaryrefslogtreecommitdiff
path: root/ishtar_common/models_imports.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r--ishtar_common/models_imports.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index 2b568df21..3d8cce882 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1683,7 +1683,8 @@ class BaseImport(models.Model, OwnPerms, SheetItem):
def get_imported_images(self):
return self.imported_images
- def delayed_importation(self, request, session_key):
+ def delayed_importation(self, request):
+ session_key = request.session.session_key if request else None
if not settings.USE_BACKGROUND_TASK:
return self.importation(request=request, session_key=session_key)
put_session_message(
@@ -2989,6 +2990,24 @@ class Import(BaseImport):
continue
ImportLineError.objects.get_or_create(import_item=self, line=idx)
+ def start_import(self, request=None):
+ if settings.USE_BACKGROUND_TASK:
+ self.delayed_importation(request)
+ return
+ try:
+ self.importation()
+ except ImporterError as e:
+ self.state = "FE"
+ self.end_date = timezone.now()
+ self.save()
+ if request:
+ put_session_message(
+ request.session.session_key,
+ f"{self} - {e}",
+ "warning",
+ )
+
+
def save(self, *args, **kwargs):
maj_imported_file = False
if getattr(self, "_maj_imported_file", False):
@@ -3013,7 +3032,7 @@ class Import(BaseImport):
self.initialize()
if not self.pre_import_form_is_valid or self.need_matching():
return
- self.importation()
+ self.start_import()
def pre_delete_import(sender, **kwargs):