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


Python hooks.register方法代码示例

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


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

示例1: test_register_page_listing_buttons

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def test_register_page_listing_buttons(self):
        @hooks.register('register_page_listing_buttons')
        def page_listing_buttons(page, page_perms, is_parent=False, next_url=None):
            yield wagtailadmin_widgets.PageListingButton(
                'Another useless page listing button',
                '/custom-url',
                priority=10
            )

        response = self.client.get(
            reverse('wagtailadmin_explore', args=(self.root_page.id, ))
        )

        self.assertEqual(response.status_code, 200)
        self.assertTemplateUsed(response, 'wagtailadmin/pages/listing/_button_with_dropdown.html')
        self.assertTemplateUsed(response, 'wagtailadmin/pages/listing/_buttons.html')

        self.assertContains(response, 'Another useless page listing button') 
开发者ID:wagtail,项目名称:wagtail,代码行数:20,代码来源:test_buttons_hooks.py

示例2: test_register_page_listing_more_buttons

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def test_register_page_listing_more_buttons(self):
        @hooks.register('register_page_listing_more_buttons')
        def page_listing_more_buttons(page, page_perms, is_parent=False, next_url=None):
            yield wagtailadmin_widgets.Button(
                'Another useless button in default "More" dropdown',
                '/custom-url',
                priority=10
            )

        response = self.client.get(
            reverse('wagtailadmin_explore', args=(self.root_page.id, ))
        )

        self.assertEqual(response.status_code, 200)
        self.assertTemplateUsed(response, 'wagtailadmin/pages/listing/_button_with_dropdown.html')
        self.assertTemplateUsed(response, 'wagtailadmin/pages/listing/_buttons.html')

        self.assertContains(response, 'Another useless button in default "More" dropdown') 
开发者ID:wagtail,项目名称:wagtail,代码行数:20,代码来源:test_buttons_hooks.py

示例3: register_quotation_feature

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def register_quotation_feature(features):
    features.register_editor_plugin(
        'hallo', 'quotation', HalloPlugin(
            name='halloquotation',
            js=['testapp/js/hallo-quotation.js'],
            css={'all': ['testapp/css/hallo-quotation.css']},
        )
    )
    features.register_editor_plugin(
        'draftail', 'quotation', draftail_features.EntityFeature(
            {},
            js=['testapp/js/draftail-quotation.js'],
            css={'all': ['testapp/css/draftail-quotation.css']},
        )
    )


# register 'intro' as a rich text feature which converts an `intro-paragraph` contentstate block
# to a <p class="intro"> tag in db HTML and vice versa 
开发者ID:wagtail,项目名称:wagtail,代码行数:21,代码来源:wagtail_hooks.py

示例4: register_textcolour_feature

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def register_textcolour_feature(features):
    # register all colour features
    register_all_colour_features(features)

    # register the color picker
    feature_name = 'textcolour'
    type_ = feature_name.upper()

    control = {
        'type': type_,
        'icon': get_setting('ICON'),
        'description': _('Text Colour'),
    }

    features.register_editor_plugin(
        'draftail',
        feature_name,
        draftail_features.EntityFeature(
            control,
            js=['colourpicker/js/chooser.js']
        )
    )

    features.default_features.append(feature_name) 
开发者ID:AccentDesign,项目名称:wagtailcolourpicker,代码行数:26,代码来源:wagtail_hooks.py

示例5: test_menus_modify_primed_menu_items

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def test_menus_modify_primed_menu_items(self):

        # NOTE: Positional args used to ensure supplied args remain consistent
        @hooks.register('menus_modify_primed_menu_items')
        def modify_menu_items(
            menu_items, request, parent_context, parent_page, menu_instance,
            original_menu_instance, menu_tag, original_menu_tag, current_level,
            max_levels, current_site, current_page, current_section_root_page,
            current_page_ancestor_ids, apply_active_classes,
            allow_repeating_parents, use_absolute_page_urls
        ):
            if original_menu_tag == 'main_menu' and current_level == 1:
                menu_items.append({
                    'href': 'https://rkh.co.uk',
                    'text': 'VISIT RKH.CO.UK',
                    'active_class': 'external',
                })
            return menu_items

        # Let's render the test homepage to see what happens!
        response = self.client.get('/')

        # unhook asap to prevent knock-on effects on failure
        del hooks._hooks['menus_modify_primed_menu_items']

        # If the the hook failed to receive any of the arguments defined
        # on `modify_menu_items` above, there will be an error
        self.assertEqual(response.status_code, 200)

        # There are 5 main menus being output, and because our hook only adds
        # the additional item to the first level of each of those, the
        # 'VISIT RKH.CO.UK' text should appear exactly 5 times
        self.assertContains(response, 'VISIT RKH.CO.UK', 5) 
开发者ID:rkhleics,项目名称:wagtailmenus,代码行数:35,代码来源:test_hooks.py

示例6: test_menus_modify_base_menuitem_queryset

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def test_menus_modify_base_menuitem_queryset(self):

        # NOTE: Positional args used to ensure supplied args remain consistent
        @hooks.register('menus_modify_base_menuitem_queryset')
        def modify_menuitem_queryset(
            queryset, request, parent_context, parent_page, menu_instance,
            original_menu_instance, menu_tag, original_menu_tag, current_level,
            max_levels, current_site, current_page, current_section_root_page,
            current_page_ancestor_ids, apply_active_classes,
            allow_repeating_parents, use_absolute_page_urls
        ):
            """
            Nullify menu items completely for all 'flat menus'. Should result
            in completely empty menus
            """
            if menu_tag == 'flat_menu':
                queryset = queryset.none()
            return queryset

        # Let's render the test homepage to see what happens!
        response = self.client.get('/')

        # unhook asap to prevent knock-on effects on failure
        del hooks._hooks['menus_modify_base_menuitem_queryset']

        # If the the hook failed to receive any of the arguments defined
        # on `modify_menu_items` above, there will be an error
        self.assertEqual(response.status_code, 200)

        # Test output reflects hook changes
        soup = BeautifulSoup(response.content, 'html5lib')
        contact_menu_html = soup.find(id='nav-contact').decode()
        # There should be no menu items, so just an empty div (no <ul>)
        expected_html = """
        <div id="nav-contact">
            <div class="flat-menu contact no_heading"></div>
        </div>
        """
        self.assertHTMLEqual(contact_menu_html, expected_html) 
开发者ID:rkhleics,项目名称:wagtailmenus,代码行数:41,代码来源:test_hooks.py

示例7: test_custom_button_with_dropdown

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def test_custom_button_with_dropdown(self):
        @hooks.register('register_page_listing_buttons')
        def page_custom_listing_buttons(page, page_perms, is_parent=False, next_url=None):
            yield wagtailadmin_widgets.ButtonWithDropdownFromHook(
                'One more more button',
                hook_name='register_page_listing_one_more_more_buttons',
                page=page,
                page_perms=page_perms,
                is_parent=is_parent,
                next_url=next_url,
                attrs={'target': '_blank', 'rel': 'noopener noreferrer'},
                priority=50
            )

        @hooks.register('register_page_listing_one_more_more_buttons')
        def page_custom_listing_more_buttons(page, page_perms, is_parent=False, next_url=None):
            yield wagtailadmin_widgets.Button(
                'Another useless dropdown button in "One more more button" dropdown',
                '/custom-url',
                priority=10
            )

        response = self.client.get(
            reverse('wagtailadmin_explore', args=(self.root_page.id, ))
        )

        self.assertEqual(response.status_code, 200)
        self.assertTemplateUsed(response, 'wagtailadmin/pages/listing/_button_with_dropdown.html')
        self.assertTemplateUsed(response, 'wagtailadmin/pages/listing/_buttons.html')

        self.assertContains(response, 'One more more button')
        self.assertContains(response, 'Another useless dropdown button in &quot;One more more button&quot; dropdown') 
开发者ID:wagtail,项目名称:wagtail,代码行数:34,代码来源:test_buttons_hooks.py

示例8: hide_hidden_pages

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def hide_hidden_pages(parent_page, pages, request):
    # Pages with 'hidden' in their title are hidden. Magic!
    return pages.exclude(title__icontains='hidden')


# register 'quotation' as a rich text feature supported by a hallo.js plugin
# and a Draftail feature 
开发者ID:wagtail,项目名称:wagtail,代码行数:9,代码来源:wagtail_hooks.py

示例9: register_with_wagtail

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def register_with_wagtail(self):

        @hooks.register('register_permissions')
        def register_permissions():
            return self.get_permissions_for_registration()

        @hooks.register('register_admin_urls')
        def register_admin_urls():
            return self.get_admin_urls_for_registration()

        menu_hook = (
            'register_settings_menu_item' if self.add_to_settings_menu else
            'register_admin_menu_item'
        )

        @hooks.register(menu_hook)
        def register_admin_menu_item():
            return self.get_menu_item()

        # Overriding the explorer page queryset is a somewhat 'niche' / experimental
        # operation, so only attach that hook if we specifically opt into it
        # by returning True from will_modify_explorer_page_queryset
        if self.will_modify_explorer_page_queryset():
            @hooks.register('construct_explorer_page_queryset')
            def construct_explorer_page_queryset(parent_page, queryset, request):
                return self.modify_explorer_page_queryset(
                    parent_page, queryset, request) 
开发者ID:wagtail,项目名称:wagtail,代码行数:29,代码来源:options.py

示例10: get_admin_urls_for_registration

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def get_admin_urls_for_registration(self):
        """
        Utilised by Wagtail's 'register_admin_urls' hook to register urls for
        our the views that class offers.
        """
        urls = (
            url(self.url_helper.get_action_url_pattern('index'),
                self.index_view,
                name=self.url_helper.get_action_url_name('index')),
            url(self.url_helper.get_action_url_pattern('create'),
                self.create_view,
                name=self.url_helper.get_action_url_name('create')),
            url(self.url_helper.get_action_url_pattern('edit'),
                self.edit_view,
                name=self.url_helper.get_action_url_name('edit')),
            url(self.url_helper.get_action_url_pattern('delete'),
                self.delete_view,
                name=self.url_helper.get_action_url_name('delete')),
        )
        if self.inspect_view_enabled:
            urls = urls + (
                url(self.url_helper.get_action_url_pattern('inspect'),
                    self.inspect_view,
                    name=self.url_helper.get_action_url_name('inspect')),
            )
        if self.is_pagemodel:
            urls = urls + (
                url(self.url_helper.get_action_url_pattern('choose_parent'),
                    self.choose_parent_view,
                    name=self.url_helper.get_action_url_name('choose_parent')),
            )
        return urls 
开发者ID:wagtail,项目名称:wagtail,代码行数:34,代码来源:options.py

示例11: register_decorator

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def register_decorator(self, model=None, **kwargs):
        """
        Register a model as a setting in the Wagtail admin
        """
        if model is None:
            return lambda model: self.register(model, **kwargs)
        return self.register(model, **kwargs) 
开发者ID:wagtail,项目名称:wagtail,代码行数:9,代码来源:registry.py

示例12: setUpClass

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def setUpClass(cls):
        hooks.register('test_hook_name', test_hook) 
开发者ID:wagtail,项目名称:wagtail,代码行数:4,代码来源:test_hooks.py

示例13: register_errata_menu_item

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def register_errata_menu_item():
        return MenuItem('Errata', '/django-admin/errata/errata', classnames='icon icon-form', order=10000)

    # @hooks.register('register_admin_menu_item')
    # def register_errata_menu_item():
    #     return MenuItem('Errata (beta)', '/api/errata/admin/dashboard/', classnames='icon icon-form', order=10000) 
开发者ID:openstax,项目名称:openstax-cms,代码行数:8,代码来源:models.py

示例14: register

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def register(request):
    return {
        "url": reverse('wagtail_2fa_device_list', kwargs={'user_id': request.user.id}),
        "label": _("Manage your 2FA devices"),
        "help_text": _("Add or remove devices for 2 factor authentication."),
    } 
开发者ID:labd,项目名称:wagtail-2fa,代码行数:8,代码来源:wagtail_hooks.py

示例15: test_menus_modify_raw_menu_items

# 需要导入模块: from wagtail.core import hooks [as 别名]
# 或者: from wagtail.core.hooks import register [as 别名]
def test_menus_modify_raw_menu_items(self):

        # NOTE: Positional args used to ensure supplied args remain consistent
        @hooks.register('menus_modify_raw_menu_items')
        def modify_menu_items(
            menu_items, request, parent_context, parent_page, menu_instance,
            original_menu_instance, menu_tag, original_menu_tag, current_level,
            max_levels, current_site, current_page, current_section_root_page,
            current_page_ancestor_ids, apply_active_classes,
            allow_repeating_parents, use_absolute_page_urls
        ):
            if original_menu_tag == 'section_menu' and current_level == 1:
                """
                For the first level of section menus, add a copy of the first
                page to the end of the list
                """
                try:
                    menu_items.append(menu_items[0])
                except KeyError:
                    pass
            return menu_items

        # Let's render the 'about us' page to see what happens!
        response = self.client.get('/about-us/')

        # unhook asap to prevent knock-on effects on failure
        del hooks._hooks['menus_modify_raw_menu_items']

        # If the the hook failed to receive any of the arguments defined
        # on `modify_menu_items` above, there will be an error
        self.assertEqual(response.status_code, 200)

        # Test output reflects hook changes
        soup = BeautifulSoup(response.content, 'html5lib')
        section_menu_html = soup.find(id='section-menu-one-level').decode()
        # 'Call us' is a page link, so should no longer appear
        expected_html = """
        <div id="section-menu-one-level">
            <nav class="nav-section" role="navigation">
                <a href="/about-us/" class="ancestor section_root">About us</a>
                <ul>
                    <li class="active"><a href="/about-us/">Section home</a></li>
                    <li class=""><a href="/about-us/meet-the-team/">Meet the team</a></li>
                    <li class=""><a href="/about-us/our-heritage/">Our heritage</a></li>
                    <li class=""><a href="/about-us/mission-and-values/">Our mission and values</a></li>
                    <li class=""><a href="/about-us/meet-the-team/">Meet the team</a></li>
                </ul>
            </nav>
        </div>
        """
        self.assertHTMLEqual(section_menu_html, expected_html) 
开发者ID:rkhleics,项目名称:wagtailmenus,代码行数:53,代码来源:test_hooks.py


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