Beispiel #1
0
    def test_wizard_duplicate_slug(self):
        from cms.utils.permissions import current_user
        from cms.wizards.wizard_pool import wizard_pool

        from djangocms_blog.models import Post

        self.get_pages()
        cat_2 = BlogCategory.objects.create(name="category 1 - blog 2",
                                            app_config=self.app_config_2)

        with current_user(self.user_staff):
            wiz = None
            for wiz in wizard_pool.get_entries():
                if wiz.model == Post and wiz.title == "New Blog":
                    break
            form = wiz.form(
                data=self.get_querydict({
                    "1-title": "title article",
                    "1-abstract": "abstract article",
                    "1-categories": self.category_1.pk
                }),
                prefix=1,
            )
            self.assertEqual(form.default_appconfig, self.app_config_1.pk)
            self.assertTrue(form.is_valid())
            instance1 = form.save()
            self.assertEqual(instance1.slug, "title-article")

            form = wiz.form(
                data=self.get_querydict({
                    "1-title": "title article",
                    "1-abstract": "abstract article",
                    "1-categories": self.category_1.pk
                }),
                prefix=1,
            )
            self.assertEqual(form.default_appconfig, self.app_config_1.pk)
            self.assertTrue(form.is_valid())
            instance2 = form.save()
            self.assertEqual(instance2.slug, "title-article-1")

            for wiz in wizard_pool.get_entries():
                if wiz.model == Post and wiz.title == "New Article":
                    break
            form = wiz.form(
                data=self.get_querydict({
                    "1-title": "title article",
                    "1-abstract": "abstract article",
                    "1-categories": cat_2.pk
                }),
                prefix=1,
            )
            self.assertEqual(form.default_appconfig, self.app_config_2.pk)
            self.assertTrue(form.is_valid())
            instance3 = form.save()
            self.assertEqual(instance3.slug, "title-article-2")
Beispiel #2
0
    def test_wizard_duplicate_slug(self):
        from cms.utils.permissions import current_user
        from cms.wizards.wizard_pool import wizard_pool
        from djangocms_blog.models import Post
        self.get_pages()
        cat_2 = BlogCategory.objects.create(name='category 1 - blog 2',
                                            app_config=self.app_config_2)

        with current_user(self.user_staff):
            wiz = None
            for wiz in wizard_pool.get_entries():
                if wiz.model == Post and wiz.title == 'New Blog':
                    break
            form = wiz.form(data={
                '1-title': 'title article',
                '1-abstract': 'abstract article',
                '1-categories': [self.category_1.pk],
            },
                            prefix=1)
            self.assertEqual(form.default_appconfig, self.app_config_1.pk)
            self.assertTrue(form.is_valid())
            instance1 = form.save()
            self.assertEqual(instance1.slug, 'title-article')

            form = wiz.form(data={
                '1-title': 'title article',
                '1-abstract': 'abstract article',
                '1-categories': [self.category_1.pk],
            },
                            prefix=1)
            self.assertEqual(form.default_appconfig, self.app_config_1.pk)
            self.assertTrue(form.is_valid())
            instance2 = form.save()
            self.assertEqual(instance2.slug, 'title-article-1')

            for wiz in wizard_pool.get_entries():
                if wiz.model == Post and wiz.title == 'New Article':
                    break
            form = wiz.form(data={
                '1-title': 'title article',
                '1-abstract': 'abstract article',
                '1-categories': [cat_2.pk],
            },
                            prefix=1)
            self.assertEqual(form.default_appconfig, self.app_config_2.pk)
            self.assertTrue(form.is_valid())
            instance3 = form.save()
            self.assertEqual(instance3.slug, 'title-article-2')
Beispiel #3
0
 def test_repr(self):
     page_wizard = [
         entry for entry in wizard_pool.get_entries()
         if isinstance(entry, CMSPageWizard)
     ][0]
     self.assertIn("cms.cms_wizards.CMSPageWizard", repr(page_wizard))
     self.assertIn("id={}".format(page_wizard.id), repr(page_wizard))
     self.assertIn(hex(id(page_wizard)), repr(page_wizard))
    def test_wizard_duplicate_slug(self):
        from cms.utils.permissions import current_user
        from cms.wizards.wizard_pool import wizard_pool
        from djangocms_blog.models import Post
        self.get_pages()
        cat_2 = BlogCategory.objects.create(name='category 1 - blog 2', app_config=self.app_config_2)

        with current_user(self.user_staff):
            wiz = None
            for wiz in wizard_pool.get_entries():
                if wiz.model == Post and wiz.title == 'New Blog':
                    break
            form = wiz.form(data={
                '1-title': 'title article',
                '1-abstract': 'abstract article',
                '1-categories': [self.category_1.pk],
            }, prefix=1)
            self.assertEqual(form.default_appconfig, self.app_config_1.pk)
            self.assertTrue(form.is_valid())
            instance1 = form.save()
            self.assertEqual(instance1.slug, 'title-article')

            form = wiz.form(data={
                '1-title': 'title article',
                '1-abstract': 'abstract article',
                '1-categories': [self.category_1.pk],
            }, prefix=1)
            self.assertEqual(form.default_appconfig, self.app_config_1.pk)
            self.assertTrue(form.is_valid())
            instance2 = form.save()
            self.assertEqual(instance2.slug, 'title-article-1')

            for wiz in wizard_pool.get_entries():
                if wiz.model == Post and wiz.title == 'New Article':
                    break
            form = wiz.form(data={
                '1-title': 'title article',
                '1-abstract': 'abstract article',
                '1-categories': [cat_2.pk],
            }, prefix=1)
            self.assertEqual(form.default_appconfig, self.app_config_2.pk)
            self.assertTrue(form.is_valid())
            instance3 = form.save()
            self.assertEqual(instance3.slug, 'title-article-2')
Beispiel #5
0
    def test_wizard(self):
        """
        Test that Blog wizard is present and contains all items
        """
        from cms.wizards.wizard_pool import wizard_pool
        self.get_pages()

        titles = [entry.title for entry in wizard_pool.get_entries()]
        self.assertTrue('New Blog' in titles)
        self.assertTrue('New Article' in titles)
Beispiel #6
0
    def test_wizard(self):
        """
        Test that Blog wizard is present and contains all items
        """
        from cms.wizards.wizard_pool import wizard_pool
        self.get_pages()

        titles = [entry.title for entry in wizard_pool.get_entries()]
        self.assertTrue('New Blog' in titles)
        self.assertTrue('New Article' in titles)
Beispiel #7
0
    def test_wizard_init(self):
        from cms.utils.permissions import current_user
        from cms.wizards.wizard_pool import wizard_pool
        from djangocms_blog.models import Post
        self.get_pages()

        cat_1 = BlogCategory.objects.create(name='category 1 - blog 1',
                                            app_config=self.app_config_1)
        cat_2 = BlogCategory.objects.create(name='category 1 - blog 2',
                                            app_config=self.app_config_2)
        cats = {
            self.app_config_1.pk: cat_1,
            self.app_config_2.pk: cat_2,
        }
        with current_user(self.user_staff):
            wizs = [
                entry for entry in wizard_pool.get_entries()
                if entry.model == Post
            ]
            for index, wiz in enumerate(wizs):
                app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk
                form = wiz.form()
                self.assertTrue(form.initial.get('app_config', False),
                                app_config)
                self.assertTrue(
                    form.fields['app_config'].widget.attrs['disabled'])

                form = wiz.form(data={
                    '1-title': 'title{0}'.format(index),
                    '1-abstract': 'abstract{0}'.format(index),
                    '1-categories': [cats[app_config].pk],
                },
                                prefix=1)
                self.assertEqual(form.default_appconfig, app_config)
                self.assertTrue(form.is_valid())
                self.assertEqual(form.cleaned_data['app_config'].pk,
                                 app_config)
                instance = form.save()
                self.assertEqual(instance.author, self.user_staff)

            with self.settings(BLOG_AUTHOR_DEFAULT='normal'):
                for index, wiz in enumerate(wizs):
                    app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk
                    form = wiz.form(data={
                        '1-title': 'title-2{0}'.format(index),
                        '1-abstract': 'abstract-2{0}'.format(index),
                        '1-categories': [cats[app_config].pk],
                    },
                                    prefix=1)
                    self.assertEqual(form.default_appconfig, app_config)
                    self.assertTrue(form.is_valid())
                    self.assertEqual(form.cleaned_data['app_config'].pk,
                                     app_config)
                    instance = form.save()
                    self.assertEqual(instance.author, self.user_normal)
Beispiel #8
0
    def test_wizard_init(self):
        from cms.utils.permissions import current_user
        from cms.wizards.wizard_pool import wizard_pool
        from djangocms_blog.models import Post

        self.get_pages()

        cat_1 = BlogCategory.objects.create(name="category 1 - blog 1", app_config=self.app_config_1)
        cat_2 = BlogCategory.objects.create(name="category 1 - blog 2", app_config=self.app_config_2)
        cats = {
            self.app_config_1.pk: cat_1,
            self.app_config_2.pk: cat_2,
        }
        with current_user(self.user_staff):
            wizs = [entry for entry in wizard_pool.get_entries() if entry.model == Post]
            for index, wiz in enumerate(wizs):
                app_config = self.app_config_1.pk if wiz.title == "New Blog" else self.app_config_2.pk
                form = wiz.form()
                self.assertTrue(form.initial.get("app_config", False), app_config)
                self.assertTrue(form.fields["app_config"].widget.attrs["disabled"])

                form = wiz.form(
                    data=self.get_querydict(
                        {
                            "1-title": "title{}".format(index),
                            "1-abstract": "abstract{}".format(index),
                            "1-categories": cats[app_config].pk,
                        }
                    ),
                    prefix=1,
                )
                self.assertEqual(form.default_appconfig, app_config)
                self.assertTrue(form.is_valid())
                self.assertEqual(form.cleaned_data["app_config"].pk, app_config)
                instance = form.save()
                self.assertEqual(instance.author, self.user_staff)

            with self.settings(BLOG_AUTHOR_DEFAULT="normal"):
                for index, wiz in enumerate(wizs):
                    app_config = self.app_config_1.pk if wiz.title == "New Blog" else self.app_config_2.pk
                    form = wiz.form(
                        data=self.get_querydict(
                            {
                                "1-title": "title-2{}".format(index),
                                "1-abstract": "abstract-2{}".format(index),
                                "1-categories": cats[app_config].pk,
                            }
                        ),
                        prefix=1,
                    )
                    self.assertEqual(form.default_appconfig, app_config)
                    self.assertTrue(form.is_valid())
                    self.assertEqual(form.cleaned_data["app_config"].pk, app_config)
                    instance = form.save()
                    self.assertEqual(instance.author, self.user_normal)
Beispiel #9
0
    def test_get_entries(self):
        """
        Test that the registered entries are returned in weight-order, no matter
        which order they were added.
        """
        wizard_pool._clear()
        wizard_pool.register(self.page_wizard)
        wizard_pool.register(self.user_settings_wizard)
        wizards = [self.page_wizard, self.user_settings_wizard]
        wizards = sorted(wizards, key=lambda e: getattr(e, 'weight'))
        entries = wizard_pool.get_entries()
        self.assertSequencesEqual(entries, wizards)

        wizard_pool._clear()
        wizard_pool.register(self.user_settings_wizard)
        wizard_pool.register(self.page_wizard)
        wizards = [self.page_wizard, self.user_settings_wizard]
        wizards = sorted(wizards, key=lambda e: getattr(e, 'weight'))
        entries = wizard_pool.get_entries()
        self.assertSequencesEqual(entries, wizards)
Beispiel #10
0
    def test_get_entries(self):
        """
        Test that the registered entries are returned in weight-order, no matter
        which order they were added.
        """
        wizard_pool._clear()
        wizard_pool.register(self.page_wizard)
        wizard_pool.register(self.user_settings_wizard)
        wizards = [self.page_wizard, self.user_settings_wizard]
        wizards = sorted(wizards, key=lambda e: getattr(e, 'weight'))
        entries = wizard_pool.get_entries()
        self.assertSequencesEqual(entries, wizards)

        wizard_pool._clear()
        wizard_pool.register(self.user_settings_wizard)
        wizard_pool.register(self.page_wizard)
        wizards = [self.page_wizard, self.user_settings_wizard]
        wizards = sorted(wizards, key=lambda e: getattr(e, 'weight'))
        entries = wizard_pool.get_entries()
        self.assertSequencesEqual(entries, wizards)
    def test_wizard_init(self):
        from cms.utils.permissions import current_user
        from cms.wizards.wizard_pool import wizard_pool
        from djangocms_blog.models import Post
        self.get_pages()

        cat_1 = BlogCategory.objects.create(name='category 1 - blog 1', app_config=self.app_config_1)
        cat_2 = BlogCategory.objects.create(name='category 1 - blog 2', app_config=self.app_config_2)
        cats = {
            self.app_config_1.pk: cat_1,
            self.app_config_2.pk: cat_2,
        }
        with current_user(self.user_staff):
            wizs = [entry for entry in wizard_pool.get_entries() if entry.model == Post]
            for index, wiz in enumerate(wizs):
                app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk
                form = wiz.form()
                self.assertTrue(form.initial.get('app_config', False), app_config)
                self.assertTrue(form.fields['app_config'].widget.attrs['disabled'])

                form = wiz.form(data={
                    '1-title': 'title{0}'.format(index),
                    '1-abstract': 'abstract{0}'.format(index),
                    '1-categories': [cats[app_config].pk],
                }, prefix=1)
                self.assertEqual(form.default_appconfig, app_config)
                self.assertTrue(form.is_valid())
                self.assertEqual(form.cleaned_data['app_config'].pk, app_config)
                instance = form.save()
                self.assertEqual(instance.author, self.user_staff)

            with self.settings(BLOG_AUTHOR_DEFAULT='normal'):
                for index, wiz in enumerate(wizs):
                    app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk
                    form = wiz.form(data={
                        '1-title': 'title-2{0}'.format(index),
                        '1-abstract': 'abstract-2{0}'.format(index),
                        '1-categories': [cats[app_config].pk],
                    }, prefix=1)
                    self.assertEqual(form.default_appconfig, app_config)
                    self.assertTrue(form.is_valid())
                    self.assertEqual(form.cleaned_data['app_config'].pk, app_config)
                    instance = form.save()
                    self.assertEqual(instance.author, self.user_normal)
Beispiel #12
0
    def test_wizard_init(self):
        from cms.wizards.wizard_pool import wizard_pool
        from djangocms_blog.models import Post
        self.get_pages()

        wizs = [entry for entry in wizard_pool.get_entries() if entry.model == Post]
        for wiz in wizs:
            app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk
            form = wiz.form()
            self.assertTrue(form.fields['app_config'].widget.attrs['disabled'])

            form = wiz.form(data={
                '1-title': 'title',
                '1-abstract': 'abstract',
                '1-categories': [self.category_1.pk],
            }, prefix=1)
            self.assertEqual(form.default_appconfig, app_config)
            self.assertTrue(form.is_valid())
            self.assertTrue(form.cleaned_data['app_config'], app_config)
Beispiel #13
0
    def test_wizard_init_categories_check(self):
        from cms.utils.permissions import current_user
        from cms.wizards.wizard_pool import wizard_pool
        from djangocms_blog.models import Post
        self.get_pages()

        with current_user(self.user_staff):
            wiz = None
            for wiz in wizard_pool.get_entries():
                if wiz.model == Post and wiz.title == 'New Article':
                    break
            form = wiz.form(data=self.get_querydict({
                '1-title': 'title article',
                '1-abstract': 'abstract article',
                '1-categories': self.category_1.pk,
            }), prefix=1)
            self.assertEqual(form.default_appconfig, self.app_config_2.pk)
            self.assertFalse(form.is_valid())
            self.assertTrue('categories' in form.errors.keys())
    def test_wizard_init_categories_check(self):
        from cms.utils.permissions import current_user
        from cms.wizards.wizard_pool import wizard_pool
        from djangocms_blog.models import Post
        self.get_pages()

        with current_user(self.user_staff):
            wiz = None
            for wiz in wizard_pool.get_entries():
                if wiz.model == Post and wiz.title == 'New Article':
                    break
            form = wiz.form(data={
                '1-title': 'title article',
                '1-abstract': 'abstract article',
                '1-categories': [self.category_1.pk],
            }, prefix=1)
            self.assertEqual(form.default_appconfig, self.app_config_2.pk)
            self.assertFalse(form.is_valid())
            self.assertTrue('categories' in form.errors.keys())
Beispiel #15
0
    def populate(self):

        #admin_menu.disabled=True

        #print(self.toolbar.find_items(Menu, name="Local")[0].item.name)
        '''
        language_menu = self.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER )
        language_menu.disabled=True
        print(language_menu)

        page = self.toolbar.get_menu(PAGE_MENU_IDENTIFIER )
        page.disabled=True
        print(page)
        '''

        #eliminando el wizzard
        for wizard in wizard_pool.get_entries():
            if wizard.title == "New Article":
                wizard_pool.unregister(wizard)
Beispiel #16
0
 def test_str(self):
     page_wizard = [
         entry for entry in wizard_pool.get_entries()
         if isinstance(entry, CMSPageWizard)
     ][0]
     self.assertEqual(str(page_wizard), page_wizard.title)