mirror of https://github.com/django/django.git
[1.6.x] Fixed multi geometries editing in OpenLayers widget
Backport of 457c16d0d
from master.
This commit is contained in:
parent
73cc96478b
commit
f5e8376288
|
@ -170,7 +170,7 @@ function MapWidget(options) {
|
||||||
// Mapping from OGRGeomType name to OpenLayers.Geometry name
|
// Mapping from OGRGeomType name to OpenLayers.Geometry name
|
||||||
if (options['geom_name'] == 'Unknown') options['geom_type'] = OpenLayers.Geometry;
|
if (options['geom_name'] == 'Unknown') options['geom_type'] = OpenLayers.Geometry;
|
||||||
else if (options['geom_name'] == 'GeometryCollection') options['geom_type'] = OpenLayers.Geometry.Collection;
|
else if (options['geom_name'] == 'GeometryCollection') options['geom_type'] = OpenLayers.Geometry.Collection;
|
||||||
else options['geom_type'] = eval('OpenLayers.Geometry' + options['geom_name']);
|
else options['geom_type'] = eval('OpenLayers.Geometry.' + options['geom_name']);
|
||||||
|
|
||||||
// Default options
|
// Default options
|
||||||
this.options = {
|
this.options = {
|
||||||
|
@ -178,7 +178,7 @@ function MapWidget(options) {
|
||||||
default_lat: 0,
|
default_lat: 0,
|
||||||
default_lon: 0,
|
default_lon: 0,
|
||||||
default_zoom: 4,
|
default_zoom: 4,
|
||||||
is_collection: options['geom_type'] instanceof OpenLayers.Geometry.Collection,
|
is_collection: new options['geom_type']() instanceof OpenLayers.Geometry.Collection,
|
||||||
layerswitcher: false,
|
layerswitcher: false,
|
||||||
map_options: {},
|
map_options: {},
|
||||||
map_srid: 4326,
|
map_srid: 4326,
|
||||||
|
@ -359,13 +359,13 @@ MapWidget.prototype.getControls = function(layer) {
|
||||||
this.controls = [new OpenLayers.Control.Navigation()];
|
this.controls = [new OpenLayers.Control.Navigation()];
|
||||||
if (!this.options.modifiable && layer.features.length)
|
if (!this.options.modifiable && layer.features.length)
|
||||||
return;
|
return;
|
||||||
if (this.options.geom_name == 'LineString' || this.options.geom_name == 'Unknown') {
|
if (this.options.geom_name.indexOf('LineString') >= 0 || this.options.geom_name == 'GeometryCollection' || this.options.geom_name == 'Unknown') {
|
||||||
this.controls.push(new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'}));
|
this.controls.push(new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'}));
|
||||||
}
|
}
|
||||||
if (this.options.geom_name == 'Polygon' || this.options.geom_name == 'Unknown') {
|
if (this.options.geom_name.indexOf('Polygon') >= 0 || this.options.geom_name == 'GeometryCollection' || this.options.geom_name == 'Unknown') {
|
||||||
this.controls.push(new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'}));
|
this.controls.push(new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'}));
|
||||||
}
|
}
|
||||||
if (this.options.geom_name == 'Point' || this.options.geom_name == 'Unknown') {
|
if (this.options.geom_name.indexOf('Point') >= 0 || this.options.geom_name == 'GeometryCollection' || this.options.geom_name == 'Unknown') {
|
||||||
this.controls.push(new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}));
|
this.controls.push(new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}));
|
||||||
}
|
}
|
||||||
if (this.options.modifiable) {
|
if (this.options.modifiable) {
|
||||||
|
|
|
@ -36,3 +36,7 @@ Bugfixes
|
||||||
|
|
||||||
* Prevented ``UnicodeDecodeError`` in ``runserver`` with non-UTF-8 and
|
* Prevented ``UnicodeDecodeError`` in ``runserver`` with non-UTF-8 and
|
||||||
non-English locale (`#23265 <https://code.djangoproject.com/ticket/23265>`_).
|
non-English locale (`#23265 <https://code.djangoproject.com/ticket/23265>`_).
|
||||||
|
|
||||||
|
* Fixed JavaScript errors while editing multi-geometry objects in the OpenLayers
|
||||||
|
widget (`#23137 <https://code.djangoproject.com/ticket/23137>`_,
|
||||||
|
`#23293 <https://code.djangoproject.com/ticket/23293>`_).
|
||||||
|
|
Loading…
Reference in New Issue