summaryrefslogtreecommitdiff
path: root/ishtar_common/views_api.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-07-29 18:08:17 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-10-24 18:32:22 +0200
commitd279705d133d1db33056be9e1db5e1e8f1448c84 (patch)
treee59b603ddadd977a330afe171b96dcf4771393ff /ishtar_common/views_api.py
parent2e4a1ac61bd89333d79b37f895029f68fe171091 (diff)
downloadIshtar-d279705d133d1db33056be9e1db5e1e8f1448c84.tar.bz2
Ishtar-d279705d133d1db33056be9e1db5e1e8f1448c84.zip
✨ GIS API: associate chunks to create an import
Diffstat (limited to 'ishtar_common/views_api.py')
-rw-r--r--ishtar_common/views_api.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/ishtar_common/views_api.py b/ishtar_common/views_api.py
index 1186b5fea..14cf6b43c 100644
--- a/ishtar_common/views_api.py
+++ b/ishtar_common/views_api.py
@@ -19,6 +19,7 @@
from django.apps import apps
from django.http import Http404
+import html
from urllib.parse import unquote_plus
@@ -133,9 +134,14 @@ class GISImportAPI(GISBaseImportView, GISAPIView):
data[k] = request.data.get(k)
data["importer"] = importer.pk
data["user"] = request.user.ishtaruser.pk
+ data["chunk"] = html.unescape(data["chunk"])
serializer = ImportChunkSerializer(data=data)
if serializer.is_valid():
- serializer.save()
+ chunk = serializer.save()
+ new_import = chunk.associate_chunks()
chunk_slug = f"{importer_slug}-{data['send_datetime']}-{data['number']}"
- return Response({"chunk": chunk_slug}, status=status.HTTP_201_CREATED)
+ return Response(
+ {"chunk": chunk_slug, "import": new_import.id if new_import else None},
+ status=status.HTTP_201_CREATED
+ )
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)