diff options
| author | Karen Tracey <kmtracey@gmail.com> | 2012-04-28 19:44:14 -0400 |
|---|---|---|
| committer | Karen Tracey <kmtracey@gmail.com> | 2012-04-28 19:44:14 -0400 |
| commit | 75743c189d5138e47fd139b154c42e3bb67361c8 (patch) | |
| tree | 332c5cc3914d5252ec6251408de181632c8124d0 | |
| parent | c2055ee1610e610c372cc17c34e4e1686fcb2011 (diff) | |
Fixed #18234: Avoided exception on flatpage add
| -rw-r--r-- | django/contrib/flatpages/forms.py | 2 | ||||
| -rw-r--r-- | django/contrib/flatpages/tests/forms.py | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/django/contrib/flatpages/forms.py b/django/contrib/flatpages/forms.py index 8ffae833e5..e0a63e4323 100644 --- a/django/contrib/flatpages/forms.py +++ b/django/contrib/flatpages/forms.py @@ -31,7 +31,7 @@ class FlatpageForm(forms.ModelForm): if self.instance.pk: same_url = same_url.exclude(pk=self.instance.pk) - if same_url.filter(sites__in=sites).exists(): + if sites and same_url.filter(sites__in=sites).exists(): for site in sites: if same_url.filter(sites=site).exists(): raise forms.ValidationError( diff --git a/django/contrib/flatpages/tests/forms.py b/django/contrib/flatpages/tests/forms.py index 884c40acc8..eb37e9ec29 100644 --- a/django/contrib/flatpages/tests/forms.py +++ b/django/contrib/flatpages/tests/forms.py @@ -78,3 +78,16 @@ class FlatpageAdminFormTests(TestCase): updated = f.save() self.assertEqual(updated.title, "A test page") + + def test_flatpage_nosites(self): + data = dict(url='/myflatpage1/', **self.form_data) + data.update({'sites': ''}) + + f = FlatpageForm(data=data) + + self.assertFalse(f.is_valid()) + + self.assertEqual( + f.errors, + {'sites': [u'This field is required.']}) + |
