Skip to content

Commit

Permalink
Fix geometry type restriction (fixes #32)
Browse files Browse the repository at this point in the history
  • Loading branch information
leplatrem committed Sep 7, 2013
1 parent 8f42766 commit 07adbf2
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ CHANGELOG

* Renamed Leaflet map fragment template
* Leaflet map geometry widgets for adminsite and forms (requires Django 1.6)
* Fix geometry type restriction in form fields (fixes #32)

0.7.4 (2013-08-28)
------------------
Expand Down
5 changes: 4 additions & 1 deletion leaflet/forms/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ class GeometryField(BaseField): # noqa
def __init__(self, *args, **kwargs):
kwargs['geom_type'] = self.geom_type
super(GeometryField, self).__init__(*args, **kwargs)
self.widget.attrs['geom_type'] = self.geom_type


from .widgets import LeafletWidget
Expand All @@ -21,6 +20,10 @@ class LeafletGeometryField(GeometryField):
widget = LeafletWidget
geom_type = 'GEOMETRY'

def __init__(self, *args, **kwargs):
super(LeafletGeometryField, self).__init__(*args, **kwargs)
self.widget.geom_type = self.geom_type


class GeometryCollectionField(LeafletGeometryField):
geom_type = 'GEOMETRYCOLLECTION'
Expand Down
2 changes: 1 addition & 1 deletion leaflet/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def test_default_widget(self):
for typ in ['Geometry', 'Point', 'MultiPoint', 'LineString', 'Polygon',
'MultiLineString', 'MultiPolygon', 'GeometryCollection']:
f = getattr(fields, typ + 'Field')()
self.assertEquals(f.widget.attrs['geom_type'], typ.upper())
self.assertEquals(f.widget.geom_type, typ.upper())


class DummyModel(gismodels.Model):
Expand Down

0 comments on commit 07adbf2

Please sign in to comment.