src/pyams_content/shared/site/zmi/manager.py
changeset 963 fff756709617
parent 945 9059a3100378
child 972 bfdb9bbc9175
--- a/src/pyams_content/shared/site/zmi/manager.py	Wed Sep 19 15:08:06 2018 +0200
+++ b/src/pyams_content/shared/site/zmi/manager.py	Wed Sep 19 16:00:08 2018 +0200
@@ -12,27 +12,26 @@
 
 __docformat__ = 'restructuredtext'
 
-
-# import standard library
+from pyramid.events import subscriber
+from pyramid.path import DottedNameResolver
+from z3c.form import field
+from z3c.form.interfaces import IDataExtractedEvent
+from zope.interface import Invalid, Interface
 
-# import interfaces
-from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION
+from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_TOOL_PERMISSION
 from pyams_content.root.interfaces import ISiteRoot
+from pyams_content.shared.common import IBaseSharedTool
+from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm
+from pyams_content.shared.site import WfTopic
 from pyams_content.shared.site.interfaces import ISiteManager, ISiteManagerFactory
+from pyams_content.shared.site.manager import SiteManager
 from pyams_content.skin.zmi.interfaces import ISiteTreeTable, IUserAddingsMenuLabel
+from pyams_form.form import AJAXAddForm, ajax_config
 from pyams_i18n.interfaces import II18n, INegotiator
+from pyams_pagelet.pagelet import pagelet_config
 from pyams_skin.interfaces.container import ITableElementEditor, ITableElementName
 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IBreadcrumbItem, IMenuHeader
 from pyams_skin.layer import IPyAMSLayer
-from pyams_zmi.interfaces.menu import ISiteManagementMenu
-from pyams_zmi.layer import IAdminLayer
-from z3c.form.interfaces import IDataExtractedEvent
-
-# import packages
-from pyams_content.shared.site import WfTopic
-from pyams_content.shared.site.manager import SiteManager
-from pyams_form.form import AJAXAddForm, ajax_config
-from pyams_pagelet.pagelet import pagelet_config
 from pyams_skin.table import DefaultElementEditorAdapter
 from pyams_skin.viewlet.breadcrumb import BreadcrumbAdminLayerItem
 from pyams_skin.viewlet.toolbar import ToolbarMenuItem
@@ -42,10 +41,8 @@
 from pyams_utils.url import absolute_url
 from pyams_viewlet.viewlet import viewlet_config
 from pyams_zmi.form import AdminDialogAddForm
-from pyramid.events import subscriber
-from pyramid.path import DottedNameResolver
-from z3c.form import field
-from zope.interface import Invalid, Interface
+from pyams_zmi.interfaces.menu import ISiteManagementMenu
+from pyams_zmi.layer import IAdminLayer
 
 from pyams_content import _
 
@@ -146,6 +143,17 @@
         return absolute_url(self.context, self.request, 'site-tree.html')
 
 
+@pagelet_config(name='properties.html', context=ISiteManager, layer=IPyAMSLayer, permission=MANAGE_TOOL_PERMISSION)
+@ajax_config(name='properties.json', context=ISiteManager, layer=IPyAMSLayer)
+class SiteManagerPropertiesEditForm(SharedToolPropertiesEditForm):
+    """Site manager properties edit form"""
+
+    legend = _("Site folder properties")
+
+    fields = field.Fields(ISiteManager).select('title', 'short_name', 'description', 'notepad') + \
+        field.Fields(IBaseSharedTool).select('shared_content_workflow')
+
+
 @subscriber(IDataExtractedEvent, form_selector=SiteManagerAddForm)
 def handle_new_site_manager_data_extraction(event):
     """Handle new site manager data extraction"""