diff options
Diffstat (limited to 'chimere/widgets.py')
| -rw-r--r-- | chimere/widgets.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/chimere/widgets.py b/chimere/widgets.py index 158df00..01a4bdb 100644 --- a/chimere/widgets.py +++ b/chimere/widgets.py @@ -70,18 +70,23 @@ def get_map_layers(area_name=''): pass map_layers, default = [], None if area and area.layers.count(): - map_layers = [layer.layer_code + map_layers = [[layer.name, layer.layer_code, False] for layer in area.layers.order_by('arealayers__order').all()] def_layer = area.layers.filter(arealayers__default=True) if def_layer.count(): def_layer = def_layer.all()[0] for order, map_layer in enumerate(map_layers): - if map_layer == def_layer.layer_code: + if map_layer[1] == def_layer.layer_code: default = order + map_layers[order][2] = True + else: + map_layers[0][2] = True elif settings.CHIMERE_DEFAULT_MAP_LAYER: - map_layers = [settings.CHIMERE_DEFAULT_MAP_LAYER] + map_layers = [(_(u"Default layer"), settings.CHIMERE_DEFAULT_MAP_LAYER, + True)] else: - map_layers = ["new OpenLayers.Layer.OSM.Mapnik('Mapnik')"] + map_layers = [(u"Mapnik", "new OpenLayers.Layer.OSM.Mapnik('Mapnik')", + True)] return map_layers, default class ChosenSelectWidget(forms.Select): @@ -260,6 +265,7 @@ class PointChooserWidget(forms.TextInput): else: value = None map_layers, default_area = get_map_layers(area_name) + map_layers = [js for name, js, default in map_layers] js = """ OpenLayers.ImgPath = '%schimere/img/'; var EPSG_DISPLAY_PROJECTION = epsg_display_projection = new OpenLayers.Projection('EPSG:%s'); @@ -339,6 +345,7 @@ class RouteChooserWidget(forms.TextInput): ''' tpl = getMapJS(area_name) map_layers, default_area = get_map_layers(area_name) + map_layers = [js for name, js, default in map_layers] js = """ OpenLayers.ImgPath = '%schimere/img/'; var EPSG_DISPLAY_PROJECTION = epsg_display_projection = new OpenLayers.Projection('EPSG:%s'); |
