src/pyams_content/features/menu/portlet/navigation/double.py
changeset 691 773429b4a3ed
parent 689 029787887199
child 859 5139e1da058e
equal deleted inserted replaced
690:1e227243eea2 691:773429b4a3ed
    26 
    26 
    27 # import packages
    27 # import packages
    28 from pyams_content.features.menu import MenusContainer
    28 from pyams_content.features.menu import MenusContainer
    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 DOUBLE_NAVIGATION_PORTLET_NAME = 'pyams_content.portlet.navigation.double'
    39 DOUBLE_NAVIGATION_PORTLET_NAME = 'pyams_content.portlet.navigation.double'
    39 DOUBLE_NAVIGATION_LINKS_KEY = '{0}::menus'.format(ASSOCIATION_CONTAINER_KEY)
    40 DOUBLE_NAVIGATION_LINKS_KEY = '{0}::menus'.format(ASSOCIATION_CONTAINER_KEY)
    40 
    41 
    41 
    42 
    42 @implementer(IDoubleNavigationPortletSettings, IMenusContainerTarget)
    43 @implementer(IDoubleNavigationPortletSettings, IMenusContainerTarget)
       
    44 @factory_config(provided=IDoubleNavigationPortletSettings)
    43 class DoubleNavigationPortletSettings(PortletSettings):
    45 class DoubleNavigationPortletSettings(PortletSettings):
    44     """Double navigation portlet settings"""
    46     """Double navigation portlet settings"""
    45 
    47 
    46     title = FieldProperty(IDoubleNavigationPortletSettings['title'])
    48     title = FieldProperty(IDoubleNavigationPortletSettings['title'])
    47     subtitle = FieldProperty(IDoubleNavigationPortletSettings['subtitle'])
    49     subtitle = FieldProperty(IDoubleNavigationPortletSettings['subtitle'])
    63     """Double navigation portlet"""
    65     """Double navigation portlet"""
    64 
    66 
    65     name = DOUBLE_NAVIGATION_PORTLET_NAME
    67     name = DOUBLE_NAVIGATION_PORTLET_NAME
    66     label = _("Double navigation")
    68     label = _("Double navigation")
    67 
    69 
    68     settings_class = DoubleNavigationPortletSettings
    70     toolbar_css_class = 'fa fa-fw fa-2x fa-list-alt'
       
    71 
       
    72     settings_factory = IDoubleNavigationPortletSettings
    69 
    73 
    70 
    74 
    71 @subscriber(IObjectAddedEvent, parent_selector=IDoubleNavigationMenusContainer)
    75 @subscriber(IObjectAddedEvent, parent_selector=IDoubleNavigationMenusContainer)
    72 def handle_added_navigation_menu(event):
    76 def handle_added_navigation_menu(event):
    73     """Add marker interface to added menus container"""
    77     """Add marker interface to added menus container"""