10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
15 |
|
16 # import standard library |
|
17 from datetime import datetime |
15 from datetime import datetime |
18 |
16 |
19 # import interfaces |
17 from pyramid.events import subscriber |
20 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_SITE_PERMISSION |
18 from pyramid.path import DottedNameResolver |
|
19 from z3c.form import field |
|
20 from z3c.form.interfaces import IDataExtractedEvent |
|
21 from zope.interface import Invalid |
|
22 |
|
23 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION |
21 from pyams_content.root.interfaces import ISiteRoot |
24 from pyams_content.root.interfaces import ISiteRoot |
22 from pyams_content.shared.blog.interfaces import IBlogManager, IBlogManagerFactory |
25 from pyams_content.shared.blog.interfaces import IBlogManager, IBlogManagerFactory |
|
26 from pyams_content.shared.blog.manager import BlogManager |
|
27 from pyams_content.shared.common import IBaseSharedTool |
|
28 from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm |
23 from pyams_content.skin.zmi.interfaces import ISiteTreeTable, IUserAddingsMenuLabel |
29 from pyams_content.skin.zmi.interfaces import ISiteTreeTable, IUserAddingsMenuLabel |
|
30 from pyams_form.form import AJAXAddForm, ajax_config |
24 from pyams_i18n.interfaces import II18n, INegotiator |
31 from pyams_i18n.interfaces import II18n, INegotiator |
|
32 from pyams_pagelet.pagelet import pagelet_config |
25 from pyams_skin.interfaces.container import ITableElementEditor |
33 from pyams_skin.interfaces.container import ITableElementEditor |
26 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, ITableItemColumnActionsMenu, IMenuHeader |
34 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, ITableItemColumnActionsMenu, IMenuHeader |
27 from pyams_skin.layer import IPyAMSLayer |
35 from pyams_skin.layer import IPyAMSLayer |
28 from pyams_workflow.interfaces import IWorkflowPublicationInfo |
|
29 from pyams_zmi.interfaces.menu import IPropertiesMenu, ISiteManagementMenu |
|
30 from pyams_zmi.layer import IAdminLayer |
|
31 from z3c.form.interfaces import IDataExtractedEvent |
|
32 |
|
33 # import packages |
|
34 from pyams_content.shared.blog.manager import BlogManager |
|
35 from pyams_form.form import AJAXAddForm, ajax_config |
|
36 from pyams_pagelet.pagelet import pagelet_config |
|
37 from pyams_skin.table import DefaultElementEditorAdapter |
36 from pyams_skin.table import DefaultElementEditorAdapter |
38 from pyams_skin.viewlet.menu import MenuItem |
37 from pyams_skin.viewlet.menu import MenuItem |
39 from pyams_skin.viewlet.toolbar import ToolbarMenuItem |
38 from pyams_skin.viewlet.toolbar import ToolbarMenuItem |
40 from pyams_utils.adapter import adapter_config, ContextRequestAdapter |
39 from pyams_utils.adapter import adapter_config, ContextRequestAdapter |
41 from pyams_utils.registry import query_utility |
40 from pyams_utils.registry import query_utility |
42 from pyams_utils.timezone import tztime |
41 from pyams_utils.timezone import tztime |
43 from pyams_utils.unicode import translate_string |
42 from pyams_utils.unicode import translate_string |
44 from pyams_utils.url import absolute_url |
43 from pyams_utils.url import absolute_url |
45 from pyams_viewlet.viewlet import viewlet_config |
44 from pyams_viewlet.viewlet import viewlet_config |
|
45 from pyams_workflow.interfaces import IWorkflowPublicationInfo |
46 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
46 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
47 from pyramid.events import subscriber |
47 from pyams_zmi.interfaces.menu import IPropertiesMenu, ISiteManagementMenu |
48 from pyramid.path import DottedNameResolver |
48 from pyams_zmi.layer import IAdminLayer |
49 from z3c.form import field |
|
50 from zope.interface import Invalid |
|
51 |
49 |
52 from pyams_content import _ |
50 from pyams_content import _ |
53 |
51 |
54 |
52 |
55 @adapter_config(context=(IBlogManager, ISiteManagementMenu), provides=IMenuHeader) |
53 @adapter_config(context=(IBlogManager, ISiteManagementMenu), provides=IMenuHeader) |
140 |
138 |
141 view_name = 'admin' |
139 view_name = 'admin' |
142 modal_target = False |
140 modal_target = False |
143 |
141 |
144 |
142 |
|
143 @pagelet_config(name='properties.html', context=IBlogManager, layer=IPyAMSLayer, permission=MANAGE_TOOL_PERMISSION) |
|
144 @ajax_config(name='properties.json', context=IBlogManager, layer=IPyAMSLayer) |
|
145 class BlogManagerPropertiesEditForm(SharedToolPropertiesEditForm): |
|
146 """Site folder properties edit form""" |
|
147 |
|
148 legend = _("Blog properties") |
|
149 |
|
150 fields = field.Fields(IBlogManager).select('title', 'short_name', 'description', 'notepad') + \ |
|
151 field.Fields(IBaseSharedTool).select('shared_content_workflow') |
|
152 |
|
153 |
145 # |
154 # |
146 # Blog manager publication views |
155 # Blog manager publication views |
147 # |
156 # |
148 |
157 |
149 @viewlet_config(name='workflow-publication.menu', context=IBlogManager, layer=IPyAMSLayer, view=ISiteTreeTable, |
158 @viewlet_config(name='workflow-publication.menu', context=IBlogManager, layer=IPyAMSLayer, view=ISiteTreeTable, |