src/pyams_content/features/menu/portlet/navigation/simple.py
changeset 691 773429b4a3ed
parent 689 029787887199
child 858 1afd36ed6947
equal deleted inserted replaced
690:1e227243eea2 691:773429b4a3ed
    26 
    26 
    27 # import packages
    27 # import packages
    28 from pyams_content.features.menu import Menu
    28 from pyams_content.features.menu import Menu
    29 from pyams_portal.portlet import PortletSettings, portlet_config, Portlet
    29 from pyams_portal.portlet import PortletSettings, portlet_config, Portlet
    30 from pyams_utils.adapter import get_annotation_adapter, adapter_config
    30 from pyams_utils.adapter import get_annotation_adapter, adapter_config
       
    31 from pyams_utils.factory import factory_config
    31 from pyramid.events import subscriber
    32 from pyramid.events import subscriber
    32 from zope.interface import implementer, alsoProvides
    33 from zope.interface import implementer, alsoProvides
    33 from zope.schema.fieldproperty import FieldProperty
    34 from zope.schema.fieldproperty import FieldProperty
    34 
    35 
    35 from pyams_content import _
    36 from pyams_content import _
    38 SIMPLE_NAVIGATION_PORTLET_NAME = 'pyams_content.portlet.navigation.simple'
    39 SIMPLE_NAVIGATION_PORTLET_NAME = 'pyams_content.portlet.navigation.simple'
    39 SIMPLE_NAVIGATION_LINKS_KEY = '{0}::links'.format(ASSOCIATION_CONTAINER_KEY)
    40 SIMPLE_NAVIGATION_LINKS_KEY = '{0}::links'.format(ASSOCIATION_CONTAINER_KEY)
    40 
    41 
    41 
    42 
    42 @implementer(ISimpleNavigationPortletSettings, IMenuLinksContainerTarget)
    43 @implementer(ISimpleNavigationPortletSettings, IMenuLinksContainerTarget)
       
    44 @factory_config(provided=ISimpleNavigationPortletSettings)
    43 class SimpleNavigationPortletSettings(PortletSettings):
    45 class SimpleNavigationPortletSettings(PortletSettings):
    44     """Simple navigation portlet settings"""
    46     """Simple navigation portlet settings"""
    45 
    47 
    46     title = FieldProperty(ISimpleNavigationPortletSettings['title'])
    48     title = FieldProperty(ISimpleNavigationPortletSettings['title'])
    47     subtitle = FieldProperty(ISimpleNavigationPortletSettings['subtitle'])
    49     subtitle = FieldProperty(ISimpleNavigationPortletSettings['subtitle'])
    63     """Simple navigation portlet"""
    65     """Simple navigation portlet"""
    64 
    66 
    65     name = SIMPLE_NAVIGATION_PORTLET_NAME
    67     name = SIMPLE_NAVIGATION_PORTLET_NAME
    66     label = _("Simple navigation")
    68     label = _("Simple navigation")
    67 
    69 
    68     settings_class = SimpleNavigationPortletSettings
    70     toolbar_css_class = 'fa fa-fw fa-2x fa-bars'
       
    71 
       
    72     settings_factory = ISimpleNavigationPortletSettings
    69 
    73 
    70 
    74 
    71 @subscriber(IObjectAddedEvent, parent_selector=ISimpleNavigationMenu)
    75 @subscriber(IObjectAddedEvent, parent_selector=ISimpleNavigationMenu)
    72 def handle_added_navigation_link(event):
    76 def handle_added_navigation_link(event):
    73     alsoProvides(event.object, IBasicIllustrationTarget)
    77     alsoProvides(event.object, IBasicIllustrationTarget)