diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-10-29 15:39:40 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-10-29 15:39:40 +0100 |
commit | d45ba08e3e94c1f4d56c6f46feac9442a1d2209f (patch) | |
tree | 240da06fd072e052c47e747d7d53390775415d8f /ishtar_common | |
parent | c7de83a5d3159d938797245b195e10460bce328f (diff) | |
download | Ishtar-d45ba08e3e94c1f4d56c6f46feac9442a1d2209f.tar.bz2 Ishtar-d45ba08e3e94c1f4d56c6f46feac9442a1d2209f.zip |
Town: generate area
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 703d4ccf7..14869e2a5 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2702,6 +2702,7 @@ class Town(Imported, models.Model): def generate_geo(self, force=False): force = self.generate_limit(force=force) self.generate_center(force=force) + self.generate_area(force=force) def generate_limit(self, force=False): if not force and self.limit: @@ -2734,6 +2735,16 @@ class Town(Imported, models.Model): self.save() return True + def generate_area(self, force=False): + if not force and (self.surface or not self.limit): + return + self.surface = self.limit.transform(settings.SURFACE_SRID, + clone=True).area + if not self.surface: + return False + self.save() + return True + def _generate_cached_label(self): cached_label = self.name if settings.COUNTRY == "fr": |