From 5afdb6bcbd9459a42ae3a0ee553be0e16bb37c21 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 28 May 2025 12:29:54 +0200 Subject: 🐛 admin town: fix geojson import/export - manage missing provider MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/models_common.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'ishtar_common/models_common.py') diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index bfbcb2748..01874bf56 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -3699,10 +3699,13 @@ class Town(GeographicItem, Imported, DocumentItem, MainItem, models.Model): return q = Town.objects.filter(numero_insee=numero_insee) values = { - "provider": GeoProviderType.objects.get(txt_idx=fields["provider"]), "comment": fields["comment"], - 'multi_polygon': fields["multi_polygon"] + "multi_polygon": fields["multi_polygon"] } + if fields.get("provider", None): + values["provider"], __ = GeoProviderType.objects.get_or_create( + txt_idx=fields["provider"], defaults={"label": fields["provider"]} + ) if q.count(): source_id = q.all()[0].pk q2 = GeoVectorData.objects.filter( @@ -3867,7 +3870,7 @@ class Town(GeographicItem, Imported, DocumentItem, MainItem, models.Model): "data_type": [ "town-limit" ], - "provider": geo.provider.txt_idx, + "provider": geo.provider.txt_idx if geo.provider else None, "comment": geo.comment, "cached_x": geo.cached_x, "cached_y": geo.cached_y, -- cgit v1.2.3