summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2026-01-29 15:16:04 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2026-01-29 15:16:52 +0100
commit2162ba022d68645552d2b4509118c60351bc547c (patch)
tree6ff7ed9934ecda91319a5c48c82816a654325e95
parent8054350559c2bdc22e9f1c6a393c875e11522cac (diff)
downloadIshtar-2162ba022d68645552d2b4509118c60351bc547c.tar.bz2
Ishtar-2162ba022d68645552d2b4509118c60351bc547c.zip
✨ GIS API: manage name for import creation
-rw-r--r--ishtar_common/models_imports.py8
-rw-r--r--ishtar_common/views_api.py5
2 files changed, 8 insertions, 5 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index b456bfd59..ea5729ed7 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1569,7 +1569,7 @@ class ImportChunk(models.Model):
chunks.append(q.all()[0])
return chunks
- def create_import(self, chunks):
+ def create_import(self, chunks, name):
contents = []
for chunk in chunks:
try:
@@ -1587,18 +1587,18 @@ class ImportChunk(models.Model):
return Import.objects.create(
importer_type=self.importer,
user=self.user,
- name=str(_("Import from QGIS")),
+ name=name,
import_immediatly=self.import_immediatly,
imported_file=ContentFile(
tf.read(),
name=f"import-{self.send_datetime.strftime('%Y-%m-%d-%H%M')}.csv")
)
- def associate_chunks(self):
+ def associate_chunks(self, name=""):
chunks = self.is_complete()
if not chunks:
return
- new_import = self.create_import(chunks)
+ new_import = self.create_import(chunks, name)
# delete all chunks - import creation has succeded or data is corrupted
for chunk in chunks:
chunk.delete()
diff --git a/ishtar_common/views_api.py b/ishtar_common/views_api.py
index dc4b38280..cf8cd425d 100644
--- a/ishtar_common/views_api.py
+++ b/ishtar_common/views_api.py
@@ -162,13 +162,16 @@ class GISImportAPI(GISBaseImportView, GISAPIView):
data = {}
for k in request.data:
data[k] = request.data.get(k)
+ import_name = str(_("Import from QGIS"))
+ if "import_name" in data:
+ import_name = data.pop("import_name")
data["importer"] = importer.pk
data["user"] = request.user.ishtaruser.pk
data["chunk"] = html.unescape(data["chunk"])
serializer = ImportChunkSerializer(data=data)
if serializer.is_valid():
chunk = serializer.save()
- new_import = chunk.associate_chunks()
+ new_import = chunk.associate_chunks(name=import_name)
msg = ""
if new_import and new_import.import_immediatly:
permissions = new_import.get_permissions_for_actions(request.user)