From 9314326c84f06b205ac663cb7b3aa92f6f89d135 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 9 Apr 2019 13:03:51 +0200 Subject: Geo: fix precise polygon heritage --- archaeological_context_records/models.py | 10 ++++++++++ archaeological_finds/models_finds.py | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index c88e60249..ff5c31c64 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -547,6 +547,16 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem, QRCodeItem, GeoItem, return precise_points return self.operation.get_precise_points() + def get_precise_polygons(self): + precise_poly = super(ContextRecord, self).get_precise_polygons() + if precise_poly: + return precise_poly + if self.archaeological_site: + precise_poly = self.archaeological_site.get_precise_polygons() + if precise_poly: + return precise_poly + return self.operation.get_precise_polygons() + @classmethod def cached_label_bulk_update(cls, operation_id=None, parcel_id=None, transaction_id=None): diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index f2897b02d..c5a3aa914 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -357,6 +357,12 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, GeoItem, OwnPerms): return precise_points return self.context_record.get_precise_points() + def get_precise_polygons(self): + precise_poly = super(BaseFind, self).get_precise_polygons() + if precise_poly: + return precise_poly + return self.context_record.get_precise_polygons() + def generate_index(self): """ Generate index based on operation or context record (based on -- cgit v1.2.3