diff options
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 |
commit | c9d084af8ce719a07d507869d547825835d70a50 (patch) | |
tree | 0f0eb53fe67d3a15019128316077688a1160dee2 /chimere | |
parent | be4348c325404e4125dcb3998b9367d63c9dcdda (diff) | |
download | Chimè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.py | 2 | ||||
-rw-r--r-- | chimere/tests.py | 7 |
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, |