当前位置: 首页>>代码示例>>Python>>正文


Python CMSToolbar.get_items方法代码示例

本文整理汇总了Python中cms.cms_toolbar.CMSToolbar.get_items方法的典型用法代码示例。如果您正苦于以下问题:Python CMSToolbar.get_items方法的具体用法?Python CMSToolbar.get_items怎么用?Python CMSToolbar.get_items使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在cms.cms_toolbar.CMSToolbar的用法示例。


在下文中一共展示了CMSToolbar.get_items方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_toolbar_staff

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
    def test_toolbar_staff(self):
        page = create_page('test', 'nav_playground.html', 'en', published=True)
        request = self.request_factory.get(page.get_absolute_url())
        request.user = self.get_superuser()
        request.current_page = page
        toolbar = CMSToolbar(request)

        items = toolbar.get_items({})
        # Logo + edit-mode + templates + page-menu + admin-menu + logout
        self.assertEqual(len(items), 6)

        # check templates
        templates = items[2]
        self.assertTrue(isinstance(templates, List))
        self.assertEqual(len(templates.raw_items), len(settings.CMS_TEMPLATES))
        base = reverse('admin:cms_page_change_template', args=(page.pk,))
        for item, template in zip(templates.raw_items, settings.CMS_TEMPLATES):
            self.assertEqual(item.url, '%s?template=%s' % (base, template[0]))

        # normal staff without templates
        request.user = self.get_staff()
        request.session = {}
        toolbar = CMSToolbar(request)

        items = toolbar.get_items({})
        # Logo + edit-mode + page-menu + admin-menu + logout
        self.assertEqual(len(items), 5)
        # check the logo is there
        logo = items[0]
        self.assertTrue(isinstance(logo, Anchor))

        # check the edit-mode switcher is there and the switcher is turned off
        edit = items[1]
        self.assertTrue(isinstance(edit, Switcher))
        self.assertFalse(toolbar.edit_mode)

        # check page menu
        pagemenu = items[2]
        self.assertTrue(isinstance(pagemenu, List))
        self.assertEqual(len(pagemenu.raw_items), 4)

        overview, addchild, addsibling, delete = pagemenu.raw_items
        self.assertEqual(overview.url, reverse('admin:cms_page_changelist'))
        self.assertEqual(addchild.serialize_url({}, toolbar),
            reverse('admin:cms_page_add') + '?position=last-child&target=%s' % page.pk)
        self.assertEqual(addsibling.serialize_url({}, toolbar),
            reverse('admin:cms_page_add') + '?position=last-child')
        self.assertEqual(delete.serialize_url({}, toolbar),
            reverse('admin:cms_page_delete', args=(page.pk,)))

        # check the admin-menu
        admin = items[3]
        self.assertTrue(isinstance(admin, List))
        self.assertEqual(len(admin.raw_items), 1) # only the link to main admin
        self.assertTrue(isinstance(admin.raw_items[0], ListItem))

        # check the logout button
        logout = items[4]
        self.assertTrue(isinstance(logout, GetButton))
        self.assertEqual(logout.url, '?cms-toolbar-logout')
开发者ID:alainwolf,项目名称:openbroadcast.org,代码行数:62,代码来源:toolbar.py

示例2: test_toolbar_no_page_staff

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
    def test_toolbar_no_page_staff(self):
        request = self.get_page_request(None, self.get_staff(), '/')
        toolbar = CMSToolbar(request)

        items = toolbar.get_items({})
        # Logo + edit-mode + admin-menu + logout
        self.assertEqual(len(items), 4)

        # check the logo is there
        logo = items[0]
        self.assertIsInstance(logo, Anchor)

        # check the edit-mode switcher is there and the switcher is turned off
        edit = items[1]
        self.assertIsInstance(edit, Switcher)
        self.assertFalse(toolbar.edit_mode)

        # check the admin-menu
        admin = items[2]
        self.assertIsInstance(admin, List)
        self.assertEqual(len(admin.raw_items), 1) # only the link to main admin
        self.assertIsInstance(admin.raw_items[0], ListItem)

        # check the logout button
        logout = items[-1]
        self.assertIsInstance(logout, GetButton)
        self.assertEqual(logout.url, '?cms-toolbar-logout')
开发者ID:11craft,项目名称:django-cms,代码行数:29,代码来源:toolbar.py

示例3: test_toolbar_template_change_permission

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
 def test_toolbar_template_change_permission(self):
     with SettingsOverride(CMS_PERMISSIONS=True):
         page = create_page('test', 'nav_playground.html', 'en', published=True)
         request = self.get_page_request(page, self.get_nonstaff())
         toolbar = CMSToolbar(request)
         items = toolbar.get_items({})
         self.assertEqual([item for item in items if item.css_class_suffix == 'templates'], [])
开发者ID:11craft,项目名称:django-cms,代码行数:9,代码来源:toolbar.py

示例4: test_toolbar_no_publish_button

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
 def test_toolbar_no_publish_button(self):
     page = create_page('test', 'nav_playground.html', 'en', published=True)
     request = self.get_page_request(page, self.get_staff(), edit=True)
     toolbar = CMSToolbar(request)
     self.assertTrue(page.has_change_permission(request))
     self.assertFalse(page.has_publish_permission(request))
     self.assertTrue(toolbar.edit_mode)
     items = toolbar.get_items({})
     # Logo + edit-mode + templates + page-menu + admin-menu + logout
     self.assertEqual(len(items), 6)
开发者ID:11craft,项目名称:django-cms,代码行数:12,代码来源:toolbar.py

示例5: test_toolbar_template_change_permission

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
 def test_toolbar_template_change_permission(self):
     with SettingsOverride(CMS_PERMISSIONS=True):
         page = create_page('test', 'nav_playground.html', 'en', published=True)
         request = self.request_factory.get(page.get_absolute_url())
         request.user = self.get_staff()
         request.current_page = page
         SessionMiddleware().process_request(request)
         request.session = {}
         toolbar = CMSToolbar(request)
         items = toolbar.get_items({})
         self.assertEqual([item for item in items if item.css_class_suffix == 'templates'], [])
开发者ID:alainwolf,项目名称:openbroadcast.org,代码行数:13,代码来源:toolbar.py

示例6: test_toolbar_no_change_button

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
 def test_toolbar_no_change_button(self):
     page = create_page('test', 'nav_playground.html', 'en', published=True)
     user = self.get_staff()
     user.user_permissions.all().delete()
     request = self.get_page_request(page, user, edit=True)
     toolbar = CMSToolbar(request)
     self.assertFalse(page.has_change_permission(request))
     self.assertFalse(page.has_publish_permission(request))
     self.assertFalse(toolbar.edit_mode)
     items = toolbar.get_items({})
     # Logo + page-menu + admin-menu + logout
     self.assertEqual(len(items), 4)
开发者ID:11craft,项目名称:django-cms,代码行数:14,代码来源:toolbar.py

示例7: test_toolbar_staff

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
    def test_toolbar_staff(self):
        page = create_page('test', 'nav_playground.html', 'en', published=True)
        request = self.get_page_request(page, self.get_superuser())
        toolbar = CMSToolbar(request)

        items = toolbar.get_items({})
        # Logo + edit-mode + templates + page-menu + admin-menu + logout
        self.assertEqual(len(items), 6)

        # check the logo is there
        logo = items[0]
        self.assertIsInstance(logo, Anchor)

        # check the edit-mode switcher is there and the switcher is turned off
        edit = items[1]
        self.assertIsInstance(edit, Switcher)
        self.assertFalse(toolbar.edit_mode)

        # check templates
        templates = items[2]
        self.assertIsInstance(templates, List)
        self.assertEqual(len(templates.raw_items), len(get_cms_setting('TEMPLATES')))
        base = reverse('admin:cms_page_change_template', args=(page.pk,))
        for item, template in zip(templates.raw_items, get_cms_setting('TEMPLATES')):
            self.assertEqual(item.url, '%s?template=%s' % (base, template[0]))

        # check page menu
        pagemenu = items[3]
        self.assertIsInstance(pagemenu, List)
        self.assertEqual(len(pagemenu.raw_items), 4)

        overview, addchild, addsibling, delete = pagemenu.raw_items
        self.assertEqual(overview.url, reverse('admin:cms_page_changelist'))
        self.assertEqual(addchild.serialize_url({}, toolbar),
            reverse('admin:cms_page_add') + '?position=last-child&target=%s' % page.pk)
        self.assertEqual(addsibling.serialize_url({}, toolbar),
            reverse('admin:cms_page_add') + '?position=last-child')
        self.assertEqual(delete.serialize_url({}, toolbar),
            reverse('admin:cms_page_delete', args=(page.pk,)))

        # check the admin-menu
        admin = items[4]
        self.assertIsInstance(admin, List)
        self.assertEqual(len(admin.raw_items), 3) # page settings, history and admin
        self.assertIsInstance(admin.raw_items[0], ListItem)
        self.assertIsInstance(admin.raw_items[1], ListItem)
        self.assertIsInstance(admin.raw_items[2], ListItem)

        # check the logout button
        logout = items[-1]
        self.assertIsInstance(logout, GetButton)
        self.assertEqual(logout.url, '?cms-toolbar-logout')
开发者ID:11craft,项目名称:django-cms,代码行数:54,代码来源:toolbar.py

示例8: test_toolbar_publish_button

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
    def test_toolbar_publish_button(self):
        page = create_page('test', 'nav_playground.html', 'en', published=True)
        request = self.get_page_request(page, self.get_superuser(), edit=True)
        toolbar = CMSToolbar(request)

        self.assertTrue(toolbar.edit_mode)

        items = toolbar.get_items({})

        # Logo + edit-mode + publish + templates + page-menu + admin-menu + logout
        self.assertEqual(len(items), 7)

        publish = items[2]
        self.assertIsInstance(publish, GetButton)
开发者ID:11craft,项目名称:django-cms,代码行数:16,代码来源:toolbar.py

示例9: test_toolbar_no_page_anon

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
    def test_toolbar_no_page_anon(self):
        request = self.get_page_request(None, self.get_anon(), '/')
        toolbar = CMSToolbar(request)

        items = toolbar.get_items({})
        self.assertEqual(len(items), 2) # Logo + login

        # check the logo is there
        logo = items[0]
        self.assertIsInstance(logo, Anchor)

        # check the login form is there
        login = items[1]
        self.assertIsInstance(login, TemplateHTML)
        self.assertEqual(login.template, 'cms/toolbar/items/login.html')
开发者ID:11craft,项目名称:django-cms,代码行数:17,代码来源:toolbar.py

示例10: test_toolbar_anon

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
    def test_toolbar_anon(self):
        page = create_page('test', 'nav_playground.html', 'en')
        request = self.get_page_request(page, self.get_anon())
        toolbar = CMSToolbar(request)

        items = toolbar.get_items({})
        self.assertEqual(len(items), 2) # Logo + login

        # check the logo is there
        logo = items[0]
        self.assertIsInstance(logo, Anchor)

        # check the login form is there
        login = items[1]
        self.assertIsInstance(login, TemplateHTML)
        self.assertEqual(login.template, 'cms/toolbar/items/login.html')
开发者ID:11craft,项目名称:django-cms,代码行数:18,代码来源:toolbar.py

示例11: test_toolbar_nonstaff

# 需要导入模块: from cms.cms_toolbar import CMSToolbar [as 别名]
# 或者: from cms.cms_toolbar.CMSToolbar import get_items [as 别名]
    def test_toolbar_nonstaff(self):
        page = create_page('test', 'nav_playground.html', 'en', published=True)
        request = self.get_page_request(page, self.get_nonstaff())
        toolbar = CMSToolbar(request)
        items = toolbar.get_items({})
        # Logo + edit-mode + logout
        self.assertEqual(len(items), 3)

        # check the logo is there
        logo = items[0]
        self.assertIsInstance(logo, Anchor)

        # check the edit-mode switcher is there and the switcher is turned off
        edit = items[1]
        self.assertIsInstance(edit, Switcher)
        self.assertFalse(toolbar.edit_mode)

        # check the logout button
        logout = items[-1]
        self.assertIsInstance(logout, GetButton)
        self.assertEqual(logout.url, '?cms-toolbar-logout')
开发者ID:11craft,项目名称:django-cms,代码行数:23,代码来源:toolbar.py


注:本文中的cms.cms_toolbar.CMSToolbar.get_items方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。