src/pyams_content/shared/blog/zmi/manager.py
changeset 963 fff756709617
parent 956 a8723fffbaf6
child 1070 ea0c7ac589c4
equal deleted inserted replaced
962:7bff93e41787 963:fff756709617
    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,