21 from pyams_form.interfaces.form import IWidgetForm, IFormHelp |
21 from pyams_form.interfaces.form import IWidgetForm, IFormHelp |
22 from pyams_i18n.interfaces import II18n, II18nManager |
22 from pyams_i18n.interfaces import II18n, II18nManager |
23 from pyams_skin.interfaces import IInnerPage, IPageHeader, IContentTitle |
23 from pyams_skin.interfaces import IInnerPage, IPageHeader, IContentTitle |
24 from pyams_skin.interfaces.viewlet import IMenuHeader, IBreadcrumbItem |
24 from pyams_skin.interfaces.viewlet import IMenuHeader, IBreadcrumbItem |
25 from pyams_skin.layer import IPyAMSLayer |
25 from pyams_skin.layer import IPyAMSLayer |
|
26 from pyams_utils.interfaces import MANAGE_SYSTEM_PERMISSION |
26 from pyams_zmi.interfaces import IPropertiesEditForm |
27 from pyams_zmi.interfaces import IPropertiesEditForm |
27 from pyams_zmi.interfaces.menu import IPropertiesMenu, ISiteManagementMenu |
28 from pyams_zmi.interfaces.menu import IPropertiesMenu, ISiteManagementMenu |
28 from pyams_zmi.layer import IAdminLayer |
29 from pyams_zmi.layer import IAdminLayer |
|
30 from z3c.form.interfaces import DISPLAY_MODE |
29 |
31 |
30 # import packages |
32 # import packages |
31 from pyams_form.form import AJAXEditForm |
33 from pyams_form.form import AJAXEditForm |
32 from pyams_form.help import FormHelp |
34 from pyams_form.help import FormHelp |
33 from pyams_pagelet.pagelet import pagelet_config |
35 from pyams_pagelet.pagelet import pagelet_config |
107 fields = field.Fields(IBaseSharedTool).omit('__parent__', '__name__') |
109 fields = field.Fields(IBaseSharedTool).omit('__parent__', '__name__') |
108 |
110 |
109 ajax_handler = 'properties.json' |
111 ajax_handler = 'properties.json' |
110 edit_permission = MANAGE_TOOL_PERMISSION |
112 edit_permission = MANAGE_TOOL_PERMISSION |
111 |
113 |
|
114 def updateWidgets(self, prefix=None): |
|
115 super(SharedToolPropertiesEditForm, self).updateWidgets(prefix) |
|
116 if not self.request.has_permission(MANAGE_SYSTEM_PERMISSION, context=self.context): |
|
117 self.widgets['shared_content_workflow'].mode = DISPLAY_MODE |
|
118 |
112 |
119 |
113 @view_config(name='properties.json', context=IBaseSharedTool, request_type=IPyAMSLayer, |
120 @view_config(name='properties.json', context=IBaseSharedTool, request_type=IPyAMSLayer, |
114 permission=MANAGE_TOOL_PERMISSION, renderer='json', xhr=True) |
121 permission=MANAGE_TOOL_PERMISSION, renderer='json', xhr=True) |
115 class SharedToolPropertiesAJAXEditForm(AJAXEditForm, SharedToolPropertiesEditForm): |
122 class SharedToolPropertiesAJAXEditForm(AJAXEditForm, SharedToolPropertiesEditForm): |
116 """Shared tool properties edit form, JSON renderer""" |
123 """Shared tool properties edit form, JSON renderer""" |