diff options
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 |
commit | f098ec09ef8b6a71372390705f10eae10399152a (patch) | |
tree | 664ae05a53bf5123ec6e84893d859a0d16225934 /chimere/forms.py | |
parent | ffa21eca6672e0b662b3ad30d4951135dc416e16 (diff) | |
download | Chimè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.py | 11 |
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, |