summaryrefslogtreecommitdiff
path: root/chimere/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/widgets.py')
-rw-r--r--chimere/widgets.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/chimere/widgets.py b/chimere/widgets.py
index 96d36b9..237c609 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -59,7 +59,7 @@ def getMapJS(area_name=''):
return js
-def get_map_layers(area_name=''):
+def get_map_layers(area_name='', get_area_zoom=False):
from chimere.models import Area
area = None
if area_name:
@@ -94,7 +94,12 @@ def get_map_layers(area_name=''):
style: 'Road',
source: new ol.source.MapQuest({layer: 'osm'})
})""", True)]
- return map_layers, default
+ if not get_area_zoom:
+ return map_layers, default
+ if not area:
+ return map_layers, default, settings.CHIMERE_DEFAULT_ZOOM
+ zoom = "[%s]" % ",".join(area.getExtent())
+ return map_layers, default, zoom
class ChosenSelectWidget(forms.Select):
@@ -313,7 +318,8 @@ class PointChooserWidget(forms.TextInput):
value = None
else:
value = None
- map_layers, default_area = get_map_layers(area_name)
+ map_layers, default_area, zoom = get_map_layers(area_name,
+ get_area_zoom=True)
map_layers = [js for n, js, default in map_layers if js]
# TODO: manage area
return mark_safe(
@@ -336,7 +342,8 @@ class PointChooserWidget(forms.TextInput):
settings.CHIMERE_DEFAULT_CENTER[1]),
settings.CHIMERE_DEFAULT_ZOOM,
settings.STATIC_URL,
- ", ".join(map_layers)
+ ", ".join(map_layers),
+ zoom
)
)
@@ -632,7 +639,8 @@ class PolygonChooserWidget(forms.TextInput):
val = ''
if value:
val = str(value)
- map_layers, default_area = get_map_layers(area_name)
+ map_layers, default_area, zoom = get_map_layers(area_name,
+ get_area_zoom=True)
map_layers = [js for n, js, default in map_layers
if 'OpenLayers' not in js]
tpl = render_to_string(
@@ -642,13 +650,12 @@ class PolygonChooserWidget(forms.TextInput):
'default_area': "true" if default_area else "false",
'value': value}
)
- # TODO: manage area
return mark_safe(tpl.format(
static_url=settings.STATIC_URL,
display_projection=settings.CHIMERE_EPSG_DISPLAY_PROJECTION,
projection=settings.CHIMERE_EPSG_PROJECTION,
center=list(settings.CHIMERE_DEFAULT_CENTER),
- zoom=settings.CHIMERE_DEFAULT_ZOOM,
+ zoom=zoom,
map_layers=", ".join(map_layers)
))