src/pyams_thesaurus/zmi/manager.py
changeset 35 561b0ce57281
parent 19 6cb6acc05cc3
child 37 5dacc2c05600
equal deleted inserted replaced
34:49d4aa1dfd73 35:561b0ce57281
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_skin.interfaces import IInnerPage, IPageHeader
    19 from pyams_skin.interfaces import IInnerPage, IPageHeader
    20 from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager
    20 from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager
    21 from pyams_skin.layer import IPyAMSLayer
    21 from pyams_skin.layer import IPyAMSLayer
       
    22 from pyams_thesaurus.interfaces import MANAGE_THESAURUS_CONTENT_PERMISSION, MANAGE_THESAURUS_EXTRACT_PERMISSION, \
       
    23     ADMIN_THESAURUS_PERMISSION
    22 from pyams_thesaurus.interfaces.thesaurus import IThesaurus
    24 from pyams_thesaurus.interfaces.thesaurus import IThesaurus
    23 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION, MANAGE_SYSTEM_PERMISSION
    25 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION, MANAGE_SYSTEM_PERMISSION
    24 from pyams_zmi.interfaces.menu import IControlPanelMenu
    26 from pyams_zmi.interfaces.menu import IControlPanelMenu
    25 from pyams_zmi.layer import IAdminLayer
    27 from pyams_zmi.layer import IAdminLayer
    26 from zope.component.interfaces import ISite
    28 from zope.component.interfaces import ISite
    51     """Thesaurus menu item"""
    53     """Thesaurus menu item"""
    52 
    54 
    53     label = _("Thesaurus")
    55     label = _("Thesaurus")
    54     icon_class = 'fa-language'
    56     icon_class = 'fa-language'
    55     url = '#thesaurus.html'
    57     url = '#thesaurus.html'
       
    58 
       
    59     def __new__(cls, context, request, view, manager=None):
       
    60         for name, thesaurus in get_utilities_for(IThesaurus):
       
    61             if request.has_permission(ADMIN_THESAURUS_PERMISSION) or \
       
    62                request.has_permission(MANAGE_THESAURUS_CONTENT_PERMISSION, thesaurus) or \
       
    63                request.has_permission(MANAGE_THESAURUS_EXTRACT_PERMISSION, thesaurus):
       
    64                 return MenuItem.__new__(cls)
       
    65         return None
    56 
    66 
    57 
    67 
    58 class ControlPanelThesaurusTable(BaseTable):
    68 class ControlPanelThesaurusTable(BaseTable):
    59     """Control panel thesaurus table"""
    69     """Control panel thesaurus table"""
    60 
    70