From 4a86ab7600a5e21564c28acc0c3d87aa987850d8 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 25 Sep 2023 19:32:03 +0200 Subject: 🐛 Federation: put absolute url for ressources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/models_common.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'ishtar_common/models_common.py') 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 -- cgit v1.2.3