def test_clean_overwrite_url(self):
        user = AnonymousUser()
        user.is_superuser = True
        user.pk = 1
        request = type('Request', (object,), {'user': user})
        with SettingsOverride():
            data = {
                'title': 'TestPage',
                'slug': 'test-page',
                'language': 'en',
                'overwrite_url': '/overwrite/url/',
                'site': Site.objects.get_current().pk,
                'template': get_cms_setting('TEMPLATES')[0][0],
                'published': True
            }

            form = PageForm(data)
            self.assertTrue(form.is_valid(), form.errors.as_text())
            # WTF? WHY DOES form.save() not handle this stuff???
            instance = form.save()
            instance.permission_user_cache = user
            instance.permission_advanced_settings_cache = True
            Title.objects.set_or_create(request, instance, form, 'en')
            form = PageForm(data, instance=instance)
            self.assertTrue(form.is_valid(), form.errors.as_text())
Ejemplo n.º 2
0
 def test_existing_overwrite_url(self):
     with SettingsOverride(CMS_PERMISSION=False):
         create_page('home', 'nav_playground.html', 'en', published=True)
         create_page('boo', 'nav_playground.html', 'en', published=True)
         data = {
             'title': 'foo',
             'overwrite_url': '/boo/',
             'slug': 'foo',
             'language': 'en',
             'template': 'nav_playground.html',
             'site': 1,
         }
         form = PageForm(data)
         self.assertFalse(form.is_valid())
         self.assertTrue('overwrite_url' in form.errors)
 def test_missmatching_site_parent_dotsite(self):
     site0 = Site.objects.create(domain='foo.com', name='foo.com')
     site1 = Site.objects.create(domain='foo.com', name='foo.com')
     parent_page = Page.objects.create(
         template='nav_playground.html',
         site=site0)
     new_page_data = {
         'title': 'Title',
         'slug': 'slug',
         'language': 'en',
         'site': site1.pk,
         'template': get_cms_setting('TEMPLATES')[0][0],
         'reverse_id': '',
         'parent': parent_page.pk,
     }
     form = PageForm(data=new_page_data, files=None)
     self.assertFalse(form.is_valid())
     self.assertIn(u"Site doesn't match the parent's page site",
                   form.errors['__all__'])