diff options
author | Étienne Loks <etienne@peacefrogs.net> | 2019-02-06 14:25:30 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-24 19:38:56 +0200 |
commit | 9f4e59e66686651b30a2e7976ba139627adabe22 (patch) | |
tree | 7d2e9da91f30d86a408ec1cc6d984997993a4bfd /archaeological_context_records/models.py | |
parent | d561cf06f45360939e64221fbbc6046b12b7d22a (diff) | |
download | Ishtar-9f4e59e66686651b30a2e7976ba139627adabe22.tar.bz2 Ishtar-9f4e59e66686651b30a2e7976ba139627adabe22.zip |
Geo: manage autogen of polygons
Diffstat (limited to 'archaeological_context_records/models.py')
-rw-r--r-- | archaeological_context_records/models.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 89526076a..4b41fddb7 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -28,7 +28,7 @@ from django.utils.translation import ugettext_lazy as _, pgettext, \ from django.utils.text import slugify from ishtar_common.utils import cached_label_changed, \ - m2m_historization_changed, post_save_point + m2m_historization_changed, post_save_geo from ishtar_common.models import Document, GeneralType, \ BaseHistorizedItem, HistoricalRecords, OwnPerms, ShortMenuItem, \ @@ -485,8 +485,16 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem, blank=True, null=True) point_2d = models.PointField(_(u"Point (2D)"), blank=True, null=True) point = models.PointField(_(u"Point (3D)"), blank=True, null=True, dim=3) + point_source = models.CharField( + _(u"Point source"), + choices=(('T', _(u"Town")), ('P', _(u"Precise"))), max_length=1, + blank=True, null=True) multi_polygon = models.MultiPolygonField(_(u"Multi polygon"), blank=True, null=True) + multi_polygon_source = models.CharField( + _(u"Multi-polygon source"), + choices=(('T', _(u"Town")), ('P', _(u"Precise"))), max_length=1, + blank=True, null=True) documents = models.ManyToManyField( Document, related_name='context_records', verbose_name=_(u"Documents"), blank=True) @@ -528,6 +536,11 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem, return self.town.center return self.operation.get_town_centroid() + def get_town_polygons(self): + if self.town: + return self.town.limit + return self.operation.get_town_polygon() + @classmethod def cached_label_bulk_update(cls, operation_id=None, parcel_id=None, transaction_id=None): @@ -752,7 +765,7 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem, def context_record_post_save(sender, **kwargs): cached_label_changed(sender=sender, **kwargs) - post_save_point(sender=sender, **kwargs) + post_save_geo(sender=sender, **kwargs) post_save.connect(context_record_post_save, sender=ContextRecord) |