summaryrefslogtreecommitdiff
path: root/chimere/widgets.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-02-26 00:30:51 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-02-26 00:30:51 +0100
commit8b3d6619b0def3eaec09f16b14e92c9bd9b59772 (patch)
tree71d4dbf1edbf4c398f1f8e65143329768e1c8edf /chimere/widgets.py
parentfee4daab6598a3d6e51a31e2e70e059fc5419908 (diff)
downloadChimère-8b3d6619b0def3eaec09f16b14e92c9bd9b59772.tar.bz2
Chimère-8b3d6619b0def3eaec09f16b14e92c9bd9b59772.zip
Workon polygon edition widget.
Diffstat (limited to 'chimere/widgets.py')
-rw-r--r--chimere/widgets.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/chimere/widgets.py b/chimere/widgets.py
index bffd42f..5795b77 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -614,8 +614,27 @@ class PolygonChooserWidget(forms.TextInput):
["%schimere/js/jquery.chimere.js" % settings.STATIC_URL]
def render(self, name, value, attrs=None, area_name='', initialized=True):
- # To be done
- return super(PolygonChooserWidget, self).render(name, value, attrs)
+ val = ''
+ if value:
+ val = str(value)
+ map_layers, default_area = get_map_layers(area_name)
+ map_layers = [js for n, js, default in map_layers
+ if 'OpenLayers' not in js]
+ tpl = render_to_string(
+ 'chimere/blocks/polygon_edit.html',
+ {'name': name, 'val': val, 'initialized': initialized,
+ 'isvalue': bool(value),
+ 'default_area': "true" if default_area else "false"}
+ )
+ # 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,
+ map_layers=", ".join(map_layers)
+ ))
class PolygonField(models.PolygonField):
@@ -623,7 +642,7 @@ class PolygonField(models.PolygonField):
Set the widget for the form field
'''
def formfield(self, **keys):
- defaults = {'widget': RouteChooserWidget}
+ defaults = {'widget': PolygonChooserWidget}
keys.update(defaults)
return super(PolygonField, self).formfield(**keys)