summaryrefslogtreecommitdiff
path: root/chimere
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-11-19 23:49:12 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-11-19 23:49:12 +0100
commitc9d084af8ce719a07d507869d547825835d70a50 (patch)
tree0f0eb53fe67d3a15019128316077688a1160dee2 /chimere
parentbe4348c325404e4125dcb3998b9367d63c9dcdda (diff)
downloadChimère-c9d084af8ce719a07d507869d547825835d70a50.tar.bz2
Chimère-c9d084af8ce719a07d507869d547825835d70a50.zip
Fix area modification (forgot to exclude current item to order check)
Diffstat (limited to 'chimere')
-rw-r--r--chimere/forms.py2
-rw-r--r--chimere/tests.py7
2 files changed, 8 insertions, 1 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index 6a7d7aa..49f714f 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -478,6 +478,8 @@ class AreaAdminForm(forms.ModelForm):
raise forms.ValidationError(msg)
if self.cleaned_data.get('order'):
q = Area.objects.filter(order=self.cleaned_data.get('order'))
+ if self.instance:
+ q = q.exclude(pk=self.instance.pk)
if q.count():
msg= _(u"The area \"%s\" has the same order, you need to "
u" choose another one.") % unicode(q.all()[0])
diff --git a/chimere/tests.py b/chimere/tests.py
index eeb970c..a865d9b 100644
--- a/chimere/tests.py
+++ b/chimere/tests.py
@@ -290,9 +290,14 @@ class AreaAdminFormTest(TestCase):
'lower_right_corner':'SRID=4326;POINT(0 0)'}
# order already given
data = base_data.copy()
- data['order'] = 1
+ data['order'] = self.areas[0].order
form = AreaAdminForm(data)
self.assertEqual(form.is_valid(), False)
+ # update an already existing area
+ data = base_data.copy()
+ data['order'] = self.areas[0].order
+ form = AreaAdminForm(data, instance=self.areas[0])
+ self.assertEqual(form.is_valid(), True)
# empty area
data = base_data.copy()
data.update({'upper_left_lat': 0,