summaryrefslogtreecommitdiff
path: root/chimere/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-11-14 20:14:45 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-11-14 20:14:45 +0100
commitf098ec09ef8b6a71372390705f10eae10399152a (patch)
tree664ae05a53bf5123ec6e84893d859a0d16225934 /chimere/forms.py
parentffa21eca6672e0b662b3ad30d4951135dc416e16 (diff)
downloadChimère-f098ec09ef8b6a71372390705f10eae10399152a.tar.bz2
Chimère-f098ec09ef8b6a71372390705f10eae10399152a.zip
Forms: prevent bad initialization of areas (refs #411, refs #414)
Diffstat (limited to 'chimere/forms.py')
-rw-r--r--chimere/forms.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index 5761e2b..1d37b56 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -444,6 +444,17 @@ class AreaAdminForm(forms.ModelForm):
"""
Custom initialization method in order to manage area
"""
+ if args:
+ vals = args[0]
+ for k in ('upper_left_lat', 'upper_left_lon',
+ 'lower_right_lat', 'lower_right_lon'):
+ v = vals.get(k)
+ try:
+ v = float(v)
+ except ValueError:
+ v = None
+ if not v:
+ args[0][k] = None
if 'instance' in keys and keys['instance']:
instance = keys['instance']
dct = {'area':(instance.upper_left_corner,