summaryrefslogtreecommitdiff
path: root/ishtar_common/models_common.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2023-09-25 19:32:03 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2023-09-25 19:36:50 +0200
commit4a86ab7600a5e21564c28acc0c3d87aa987850d8 (patch)
tree634f96b84060d5303745e4cf151d3cebba9a221f /ishtar_common/models_common.py
parent594c025a3f66c699f4b2a7add12781b7b6ad03e7 (diff)
downloadIshtar-4a86ab7600a5e21564c28acc0c3d87aa987850d8.tar.bz2
Ishtar-4a86ab7600a5e21564c28acc0c3d87aa987850d8.zip
🐛 Federation: put absolute url for ressources
Diffstat (limited to 'ishtar_common/models_common.py')
-rw-r--r--ishtar_common/models_common.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index 4ab97cf58..2074aa523 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -2469,7 +2469,7 @@ class GeoVectorData(Imported, OwnPerms):
SERIALIZE_EXCLUDE = []
- def full_serialize(self, search_model, recursion=False):
+ def full_serialize(self, search_model, recursion=False, request=None):
dct = {}
fields = [
"id",
@@ -3134,7 +3134,7 @@ class SerializeItem:
SERIALIZATION_FILES = []
SERIALIZE_STRING = []
- def full_serialize(self, search_model=None, recursion=False) -> dict:
+ def full_serialize(self, search_model=None, recursion=False, request=None) -> dict:
"""
API serialization
:return: data dict
@@ -3172,10 +3172,10 @@ class SerializeItem:
# print(field.name, self.__class__, self)
if field_name == "main_geodata" and no_geodata:
continue
- value = value.full_serialize(search_model, recursion=True)
+ value = value.full_serialize(search_model, recursion=True, request=request)
elif field_name in self.SERIALIZATION_FILES:
try:
- value = {"url": value.url}
+ value = {"url": request.build_absolute_uri(value.url)}
except ValueError:
value = None
else:
@@ -3196,7 +3196,7 @@ class SerializeItem:
):
# print(field.name, self.__class__, self)
values = [
- v.full_serialize(search_model, recursion=True)
+ v.full_serialize(search_model, recursion=True, request=request)
for v in values.all()
]
else:
@@ -3204,7 +3204,7 @@ class SerializeItem:
values = []
for v in values:
try:
- values.append({"url": v.url})
+ values.append({"url": request.build_absolute_uri(v.url)})
except ValueError:
pass
else:
@@ -3216,7 +3216,7 @@ class SerializeItem:
if field_name in self.SERIALIZATION_FILES:
value = getattr(self, field_name)
try:
- value = {"url": value.url}
+ value = {"url": request.build_absolute_uri(value.url)}
except ValueError:
value = None
full_result[field.name] = value