summaryrefslogtreecommitdiff
path: root/ishtar_common/models_imports.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-03-18 16:08:35 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2024-04-16 16:43:03 +0200
commit1e1623931a3cf7e881de8ea30a71170966065c02 (patch)
tree7f79556f2cd343438d4d45bec3cd572c339ad7bb /ishtar_common/models_imports.py
parent654b33a9bfe2938802dddf82440cece64084c670 (diff)
downloadIshtar-1e1623931a3cf7e881de8ea30a71170966065c02.tar.bz2
Ishtar-1e1623931a3cf7e881de8ea30a71170966065c02.zip
🐛 import group: copy CSV settings to sub-imports - fix import group deletion (refs #5698)
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r--ishtar_common/models_imports.py51
1 files changed, 38 insertions, 13 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index 9ed746e4f..b25fdc684 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1323,6 +1323,15 @@ def delayed_import(import_pk):
@task()
+def delayed_import_group(import_pk):
+ try:
+ imp = ImportGroup.objects.get(pk=import_pk)
+ except ImportGroup.DoesNotExist:
+ return
+ imp.importation()
+
+
+@task()
def delayed_check(import_pk):
try:
imp = Import.objects.get(pk=import_pk)
@@ -1496,6 +1505,32 @@ class BaseImport(models.Model, OwnPerms, SheetItem):
def get_imported_images(self):
return self.imported_images
+ def delayed_importation(self, request, session_key):
+ if not settings.USE_BACKGROUND_TASK:
+ return self.importation(request=request, session_key=session_key)
+ put_session_message(
+ session_key,
+ str(_("Import {} added to the queue")).format(self.name),
+ "info",
+ )
+ self.state = "IQ"
+ self.end_date = datetime.datetime.now()
+ self.save()
+ if self.SLUG == "import":
+ return delayed_import.delay(self.pk)
+ else:
+ return delayed_import_group.delay(self.pk)
+
+ def importation(
+ self,
+ session_key=None,
+ line_to_process=None,
+ simulate=False,
+ return_importer_and_data=False,
+ request=None,
+ ):
+ raise NotImplemented()
+
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
if (
@@ -1843,6 +1878,9 @@ class ImportGroup(BaseImport):
name=name,
importer_type=importer_type,
group=self,
+ encoding=self.encoding,
+ csv_sep=self.csv_sep,
+ skip_lines=self.skip_lines,
)
imports.append(imp)
modified = False
@@ -2532,19 +2570,6 @@ class Import(BaseImport):
self.changed_checked = True
self.save()
- def delayed_importation(self, request, session_key):
- if not settings.USE_BACKGROUND_TASK:
- return self.importation(request=request, session_key=session_key)
- put_session_message(
- session_key,
- str(_("Import {} added to the queue")).format(self.name),
- "info",
- )
- self.state = "IQ"
- self.end_date = datetime.datetime.now()
- self.save()
- return delayed_import.delay(self.pk)
-
def importation(
self,
session_key=None,