11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
15 |
15 |
16 # import standard library |
|
17 from uuid import uuid4 |
16 from uuid import uuid4 |
18 |
17 |
19 # import interfaces |
18 from pyramid.decorator import reify |
|
19 from pyramid.path import DottedNameResolver |
|
20 from z3c.form import field |
|
21 from zope.interface import Interface |
|
22 from zope.intid.interfaces import IIntIds |
|
23 from zope.lifecycleevent import ObjectCreatedEvent |
|
24 from zope.schema import Int |
|
25 |
|
26 from pyams_content import _ |
20 from pyams_content.interfaces import CREATE_CONTENT_PERMISSION |
27 from pyams_content.interfaces import CREATE_CONTENT_PERMISSION |
21 from pyams_content.shared.common.interfaces import IWfSharedContent |
28 from pyams_content.shared.common.interfaces import IWfSharedContent |
22 from pyams_content.shared.site.interfaces import ISiteContainer, ISiteManager, IWfTopic |
29 from pyams_content.shared.common.zmi import SharedContentAJAXAddForm, SharedContentAddForm |
23 from pyams_i18n.interfaces import II18nManager, INegotiator |
30 from pyams_content.shared.site.interfaces import ISiteContainer, ISiteManager |
24 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IMenuHeader |
|
25 from pyams_skin.layer import IPyAMSLayer |
|
26 from pyams_workflow.interfaces import IWorkflowInfo, IWorkflowVersions |
|
27 from pyams_zmi.interfaces.menu import IContentManagementMenu |
|
28 from pyams_zmi.layer import IAdminLayer |
|
29 from zope.intid.interfaces import IIntIds |
|
30 |
|
31 # import packages |
|
32 from pyams_content.shared.common.zmi import SharedContentAddForm, SharedContentAJAXAddForm |
|
33 from pyams_content.shared.site.zmi.widget import SiteManagerFoldersSelectorFieldWidget |
31 from pyams_content.shared.site.zmi.widget import SiteManagerFoldersSelectorFieldWidget |
34 from pyams_form.form import ajax_config |
32 from pyams_form.form import ajax_config |
|
33 from pyams_i18n.interfaces import II18nManager, INegotiator |
35 from pyams_pagelet.pagelet import pagelet_config |
34 from pyams_pagelet.pagelet import pagelet_config |
|
35 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu |
|
36 from pyams_skin.layer import IPyAMSLayer |
36 from pyams_skin.viewlet.toolbar import ToolbarMenuItem |
37 from pyams_skin.viewlet.toolbar import ToolbarMenuItem |
37 from pyams_utils.adapter import adapter_config, ContextRequestAdapter |
|
38 from pyams_utils.registry import get_utility |
38 from pyams_utils.registry import get_utility |
39 from pyams_utils.traversing import get_parent |
39 from pyams_utils.traversing import get_parent |
40 from pyams_utils.url import absolute_url, generate_url |
40 from pyams_utils.url import absolute_url, generate_url |
41 from pyams_viewlet.viewlet import viewlet_config |
41 from pyams_viewlet.viewlet import viewlet_config |
42 from pyramid.decorator import reify |
42 from pyams_workflow.interfaces import IWorkflowInfo, IWorkflowVersions |
43 from pyramid.path import DottedNameResolver |
43 from pyams_zmi.layer import IAdminLayer |
44 from z3c.form import field |
|
45 from zope.interface import Interface |
|
46 from zope.lifecycleevent import ObjectCreatedEvent |
|
47 from zope.schema import Int |
|
48 from pyams_content import _ |
|
49 |
|
50 |
|
51 @adapter_config(context=(IWfTopic, IContentManagementMenu), provides=IMenuHeader) |
|
52 class TopicContentMenuHeader(ContextRequestAdapter): |
|
53 """Topic content menu header adapter""" |
|
54 |
|
55 header = _("This topic") |
|
56 |
44 |
57 |
45 |
58 @viewlet_config(name='add-topic.menu', context=ISiteContainer, layer=IAdminLayer, view=Interface, |
46 @viewlet_config(name='add-topic.menu', context=ISiteContainer, layer=IAdminLayer, view=Interface, |
59 manager=IToolbarAddingMenu, permission=CREATE_CONTENT_PERMISSION, weight=20) |
47 manager=IToolbarAddingMenu, permission=CREATE_CONTENT_PERMISSION, weight=20) |
60 class TopicAddMenu(ToolbarMenuItem): |
48 class TopicAddMenu(ToolbarMenuItem): |