diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2019-02-06 19:08:42 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-24 19:38:56 +0200 | 
| commit | b45b4353785924420078aad98ef5fb0fb26336fe (patch) | |
| tree | 40856bb52074133833bb506a57118d11b96a0dfa /ishtar_common/models.py | |
| parent | 22a582672453c5ffcc1cd559e83414af1d2fe08c (diff) | |
| download | Ishtar-b45b4353785924420078aad98ef5fb0fb26336fe.tar.bz2 Ishtar-b45b4353785924420078aad98ef5fb0fb26336fe.zip  | |
Sheet - Map: WIP - manage vector source for polygons
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 21 | 
1 files changed, 20 insertions, 1 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index ea6bd3bf0..bd6c38ff1 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -47,6 +47,7 @@ from django.contrib.postgres.search import SearchVectorField, SearchVector  from django.core.cache import cache  from django.core.exceptions import ObjectDoesNotExist, ValidationError  from django.core.files.uploadedfile import SimpleUploadedFile +from django.core.serializers import serialize  from django.core.urlresolvers import reverse, NoReverseMatch  from django.core.validators import validate_slug  from django.db import connection @@ -1609,7 +1610,25 @@ class DocumentItem(object):          return actions -class BaseHistorizedItem(DocumentItem, FullSearch, Imported, JsonData, +class GeoItem(object): +    @property +    def point_2d_geojson(self): +        if not hasattr(self, 'point_2d'): +            return "" +        return serialize('geojson', self.__class__.objects.filter(pk=self.pk), +                         geometry_field='point_2d', +                         fields=('cache_complete_id',)) + +    @property +    def multi_polygon_geojson(self): +        if not hasattr(self, 'multi_polygon'): +            return "" +        return serialize('geojson', self.__class__.objects.filter(pk=self.pk), +                         geometry_field='multi_polygon', +                         fields=('cache_complete_id',)) + + +class BaseHistorizedItem(DocumentItem, FullSearch, Imported, JsonData, GeoItem,                           FixAssociated):      """      Historized item with external ID management.  | 
