src/pyams_content/shared/site/zmi/manager.py
changeset 972 bfdb9bbc9175
parent 963 fff756709617
child 1070 ea0c7ac589c4
equal deleted inserted replaced
971:141dc5ad83d6 972:bfdb9bbc9175
    14 
    14 
    15 from pyramid.events import subscriber
    15 from pyramid.events import subscriber
    16 from pyramid.path import DottedNameResolver
    16 from pyramid.path import DottedNameResolver
    17 from z3c.form import field
    17 from z3c.form import field
    18 from z3c.form.interfaces import IDataExtractedEvent
    18 from z3c.form.interfaces import IDataExtractedEvent
    19 from zope.interface import Invalid, Interface
    19 from zope.interface import Interface, Invalid
    20 
    20 
       
    21 from pyams_content import _
    21 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_TOOL_PERMISSION
    22 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_TOOL_PERMISSION
    22 from pyams_content.root.interfaces import ISiteRoot
    23 from pyams_content.root.interfaces import ISiteRoot
    23 from pyams_content.shared.common import IBaseSharedTool
    24 from pyams_content.shared.common import IBaseSharedTool
    24 from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm
    25 from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm
    25 from pyams_content.shared.site import WfTopic
    26 from pyams_content.shared.site import WfSiteTopic
    26 from pyams_content.shared.site.interfaces import ISiteManager, ISiteManagerFactory
    27 from pyams_content.shared.site.interfaces import ISiteManager, ISiteManagerFactory
    27 from pyams_content.shared.site.manager import SiteManager
    28 from pyams_content.shared.site.manager import SiteManager
    28 from pyams_content.skin.zmi.interfaces import ISiteTreeTable, IUserAddingsMenuLabel
    29 from pyams_content.skin.zmi.interfaces import ISiteTreeTable, IUserAddingsMenuLabel
    29 from pyams_form.form import AJAXAddForm, ajax_config
    30 from pyams_form.form import AJAXAddForm, ajax_config
    30 from pyams_i18n.interfaces import II18n, INegotiator
    31 from pyams_i18n.interfaces import II18n, INegotiator
    31 from pyams_pagelet.pagelet import pagelet_config
    32 from pyams_pagelet.pagelet import pagelet_config
    32 from pyams_skin.interfaces.container import ITableElementEditor, ITableElementName
    33 from pyams_skin.interfaces.container import ITableElementEditor, ITableElementName
    33 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IBreadcrumbItem, IMenuHeader
    34 from pyams_skin.interfaces.viewlet import IBreadcrumbItem, IMenuHeader, IToolbarAddingMenu
    34 from pyams_skin.layer import IPyAMSLayer
    35 from pyams_skin.layer import IPyAMSLayer
    35 from pyams_skin.table import DefaultElementEditorAdapter
    36 from pyams_skin.table import DefaultElementEditorAdapter
    36 from pyams_skin.viewlet.breadcrumb import BreadcrumbAdminLayerItem
    37 from pyams_skin.viewlet.breadcrumb import BreadcrumbAdminLayerItem
    37 from pyams_skin.viewlet.toolbar import ToolbarMenuItem
    38 from pyams_skin.viewlet.toolbar import ToolbarMenuItem
    38 from pyams_utils.adapter import adapter_config, ContextRequestAdapter
    39 from pyams_utils.adapter import ContextRequestAdapter, adapter_config
    39 from pyams_utils.registry import query_utility
    40 from pyams_utils.registry import query_utility
    40 from pyams_utils.unicode import translate_string
    41 from pyams_utils.unicode import translate_string
    41 from pyams_utils.url import absolute_url
    42 from pyams_utils.url import absolute_url
    42 from pyams_viewlet.viewlet import viewlet_config
    43 from pyams_viewlet.viewlet import viewlet_config
    43 from pyams_zmi.form import AdminDialogAddForm
    44 from pyams_zmi.form import AdminDialogAddForm
    44 from pyams_zmi.interfaces.menu import ISiteManagementMenu
    45 from pyams_zmi.interfaces.menu import ISiteManagementMenu
    45 from pyams_zmi.layer import IAdminLayer
    46 from pyams_zmi.layer import IAdminLayer
    46 
       
    47 from pyams_content import _
       
    48 
    47 
    49 
    48 
    50 @adapter_config(context=(ISiteManager, ISiteManagementMenu), provides=IMenuHeader)
    49 @adapter_config(context=(ISiteManager, ISiteManagementMenu), provides=IMenuHeader)
    51 class SiteManagerSiteManagementMenuHeader(ContextRequestAdapter):
    50 class SiteManagerSiteManagementMenuHeader(ContextRequestAdapter):
    52     """Site manager site management menu header adapter"""
    51     """Site manager site management menu header adapter"""
    95     """Site manager user addings menu label adapter"""
    94     """Site manager user addings menu label adapter"""
    96 
    95 
    97     @property
    96     @property
    98     def label(self):
    97     def label(self):
    99         return '{content} ({site})'.format(
    98         return '{content} ({site})'.format(
   100             content=self.request.localizer.translate(WfTopic.content_name),
    99             content=self.request.localizer.translate(WfSiteTopic.content_name),
   101             site=II18n(self.context).query_attribute('title', request=self.request))
   100             site=II18n(self.context).query_attribute('title', request=self.request))
   102 
   101 
   103 
   102 
   104 @viewlet_config(name='add-site-manager.menu', context=ISiteRoot, layer=IAdminLayer,
   103 @viewlet_config(name='add-site-manager.menu', context=ISiteRoot, layer=IAdminLayer,
   105                 view=ISiteTreeTable, manager=IToolbarAddingMenu, permission=MANAGE_SITE_ROOT_PERMISSION)
   104                 view=ISiteTreeTable, manager=IToolbarAddingMenu, permission=MANAGE_SITE_ROOT_PERMISSION)