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) |