src/pyams_content/shared/common/zmi/manager.py
changeset 582 e73547789571
parent 579 5e4875a9f692
child 591 b694d5667d17
equal deleted inserted replaced
581:e8befd0dd932 582:e73547789571
    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"""