Commit eabc326e authored by Andrew Grigorev's avatar Andrew Grigorev

Fix geoa.GeoJSONField

parent 22e206c4
......@@ -45,20 +45,19 @@ class GeoJSONField(JSONField):
return self.raw_data[0]
if type(self.data) is geoalchemy2.elements.WKBElement:
if self.srid is -1:
self.data = self.session.scalar(
return self.session.scalar(
func.ST_AsGeoJson(
self._flip_coordinates(self.data)
)
)
else:
self.data = self.session.scalar(
return self.session.scalar(
func.ST_AsGeoJson(
self._flip_coordinates(
func.ST_Transform(self.data, self.web_srid)
)
)
)
return super(GeoJSONField, self)._value()
def process_formdata(self, valuelist):
super(GeoJSONField, self).process_formdata(valuelist)
......
......@@ -6,7 +6,7 @@ from flask_admin.contrib.geoa import ModelView
from flask_admin.contrib.geoa.fields import GeoJSONField
from geoalchemy2 import Geometry
from geoalchemy2.shape import to_shape
from nose.tools import eq_
from nose.tools import eq_, ok_
from . import setup
......@@ -96,6 +96,8 @@ def test_model():
url = '/admin/geomodel/edit/?id=%s' % model.id
rv = client.get(url)
eq_(rv.status_code, 200)
data = rv.data.decode('utf-8')
ok_(r' name="multi">{"type":"MultiPoint","coordinates":[[100,0],[101,1]]}</textarea>' in data)
# rv = client.post(url, data={
# "name": "edited",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment