Loading django/contrib/gis/admin/options.py +1 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ class GeoModelAdmin(ModelAdmin): 'scrollable' : self.scrollable, 'layerswitcher' : self.layerswitcher, 'collection_type' : collection_type, 'is_generic' : db_field.geom_type == 'GEOMETRY', 'is_linestring' : db_field.geom_type in ('LINESTRING', 'MULTILINESTRING'), 'is_polygon' : db_field.geom_type in ('POLYGON', 'MULTIPOLYGON'), 'is_point' : db_field.geom_type in ('POINT', 'MULTIPOINT'), Loading django/contrib/gis/admin/widgets.py +2 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,8 @@ class OpenLayersWidget(Textarea): ) value = None if value and value.geom_type.upper() != self.geom_type: if (value and value.geom_type.upper() != self.geom_type and self.geom_type != 'GEOMETRY'): value = None # Constructing the dictionary of the map options. Loading django/contrib/gis/templates/gis/admin/openlayers.js +12 −16 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857", OpenLayers.Layer.Sp {{ module }}.wkt_f = new OpenLayers.Format.WKT(); {{ module }}.is_collection = {{ is_collection|yesno:"true,false" }}; {{ module }}.collection_type = '{{ collection_type }}'; {{ module }}.is_generic = {{ is_generic|yesno:"true,false" }}; {{ module }}.is_linestring = {{ is_linestring|yesno:"true,false" }}; {{ module }}.is_polygon = {{ is_polygon|yesno:"true,false" }}; {{ module }}.is_point = {{ is_point|yesno:"true,false" }}; Loading Loading @@ -89,24 +90,19 @@ OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857", OpenLayers.Layer.Sp // Create an array of controls based on geometry type {{ module }}.getControls = function(lyr){ {{ module }}.panel = new OpenLayers.Control.Panel({'displayClass': 'olControlEditingToolbar'}); var nav = new OpenLayers.Control.Navigation(); var draw_ctl; if ({{ module }}.is_linestring){ draw_ctl = new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'}); } else if ({{ module }}.is_polygon){ draw_ctl = new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'}); } else if ({{ module }}.is_point){ draw_ctl = new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}); {{ module }}.controls = [new OpenLayers.Control.Navigation()]; if (!{{ module }}.modifiable && lyr.features.length) return; if ({{ module }}.is_linestring || {{ module }}.is_generic){ {{ module }}.controls.push(new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'})); } if ({{ module }}.modifiable){ var mod = new OpenLayers.Control.ModifyFeature(lyr, {'displayClass': 'olControlModifyFeature'}); {{ module }}.controls = [nav, draw_ctl, mod]; } else { if(!lyr.features.length){ {{ module }}.controls = [nav, draw_ctl]; } else { {{ module }}.controls = [nav]; if ({{ module }}.is_polygon || {{ module }}.is_generic){ {{ module }}.controls.push(new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'})); } if ({{ module }}.is_point || {{ module }}.is_generic){ {{ module }}.controls.push(new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'})); } if ({{ module }}.modifiable){ {{ module }}.controls.push(new OpenLayers.Control.ModifyFeature(lyr, {'displayClass': 'olControlModifyFeature'})); } }; {{ module }}.init = function(){ Loading docs/releases/1.6.txt +3 −0 Original line number Diff line number Diff line Loading @@ -134,6 +134,9 @@ Minor features * SimpleLazyObjects will now present more helpful representations in shell debugging situations. * Generic :class:`~django.contrib.gis.db.models.GeometryField` is now editable with the OpenLayers widget in the admin. Backwards incompatible changes in 1.6 ===================================== Loading Loading
django/contrib/gis/admin/options.py +1 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ class GeoModelAdmin(ModelAdmin): 'scrollable' : self.scrollable, 'layerswitcher' : self.layerswitcher, 'collection_type' : collection_type, 'is_generic' : db_field.geom_type == 'GEOMETRY', 'is_linestring' : db_field.geom_type in ('LINESTRING', 'MULTILINESTRING'), 'is_polygon' : db_field.geom_type in ('POLYGON', 'MULTIPOLYGON'), 'is_point' : db_field.geom_type in ('POINT', 'MULTIPOINT'), Loading
django/contrib/gis/admin/widgets.py +2 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,8 @@ class OpenLayersWidget(Textarea): ) value = None if value and value.geom_type.upper() != self.geom_type: if (value and value.geom_type.upper() != self.geom_type and self.geom_type != 'GEOMETRY'): value = None # Constructing the dictionary of the map options. Loading
django/contrib/gis/templates/gis/admin/openlayers.js +12 −16 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857", OpenLayers.Layer.Sp {{ module }}.wkt_f = new OpenLayers.Format.WKT(); {{ module }}.is_collection = {{ is_collection|yesno:"true,false" }}; {{ module }}.collection_type = '{{ collection_type }}'; {{ module }}.is_generic = {{ is_generic|yesno:"true,false" }}; {{ module }}.is_linestring = {{ is_linestring|yesno:"true,false" }}; {{ module }}.is_polygon = {{ is_polygon|yesno:"true,false" }}; {{ module }}.is_point = {{ is_point|yesno:"true,false" }}; Loading Loading @@ -89,24 +90,19 @@ OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857", OpenLayers.Layer.Sp // Create an array of controls based on geometry type {{ module }}.getControls = function(lyr){ {{ module }}.panel = new OpenLayers.Control.Panel({'displayClass': 'olControlEditingToolbar'}); var nav = new OpenLayers.Control.Navigation(); var draw_ctl; if ({{ module }}.is_linestring){ draw_ctl = new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'}); } else if ({{ module }}.is_polygon){ draw_ctl = new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'}); } else if ({{ module }}.is_point){ draw_ctl = new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}); {{ module }}.controls = [new OpenLayers.Control.Navigation()]; if (!{{ module }}.modifiable && lyr.features.length) return; if ({{ module }}.is_linestring || {{ module }}.is_generic){ {{ module }}.controls.push(new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'})); } if ({{ module }}.modifiable){ var mod = new OpenLayers.Control.ModifyFeature(lyr, {'displayClass': 'olControlModifyFeature'}); {{ module }}.controls = [nav, draw_ctl, mod]; } else { if(!lyr.features.length){ {{ module }}.controls = [nav, draw_ctl]; } else { {{ module }}.controls = [nav]; if ({{ module }}.is_polygon || {{ module }}.is_generic){ {{ module }}.controls.push(new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'})); } if ({{ module }}.is_point || {{ module }}.is_generic){ {{ module }}.controls.push(new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'})); } if ({{ module }}.modifiable){ {{ module }}.controls.push(new OpenLayers.Control.ModifyFeature(lyr, {'displayClass': 'olControlModifyFeature'})); } }; {{ module }}.init = function(){ Loading
docs/releases/1.6.txt +3 −0 Original line number Diff line number Diff line Loading @@ -134,6 +134,9 @@ Minor features * SimpleLazyObjects will now present more helpful representations in shell debugging situations. * Generic :class:`~django.contrib.gis.db.models.GeometryField` is now editable with the OpenLayers widget in the admin. Backwards incompatible changes in 1.6 ===================================== Loading