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-15 19:32:59 +0200
commit9a380773f208abf5aec6bc7f000cce7e57d2cb8b (patch)
tree96c56c0c2d72cd8b3d3629cc2ea4895d2d2b5350 /ishtar_common/views_api.py
parentc39a24a50e4b4c9acbd8c04537aab0e24ffe9781 (diff)
downloadIshtar-9a380773f208abf5aec6bc7f000cce7e57d2cb8b.tar.bz2
Ishtar-9a380773f208abf5aec6bc7f000cce7e57d2cb8b.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)