src/pyams_content/shared/blog/manager.py
changeset 963 fff756709617
parent 694 4541a452fd4c
child 1447 53f02f01df65
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 from pyramid.events import subscriber
       
    16 from zope.component.interfaces import ISite
       
    17 from zope.container.folder import Folder
       
    18 from zope.interface import implementer
       
    19 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectRemovedEvent
       
    20 from zope.schema.fieldproperty import FieldProperty
    15 
    21 
    16 # import standard library
       
    17 
       
    18 # import interfaces
       
    19 from pyams_content.component.illustration import IIllustrationTarget, ILinkIllustrationTarget
    22 from pyams_content.component.illustration import IIllustrationTarget, ILinkIllustrationTarget
    20 from pyams_content.component.paragraph.interfaces import IParagraphFactorySettings
    23 from pyams_content.component.paragraph.interfaces import IParagraphFactorySettings
    21 from pyams_content.component.theme.interfaces import IThemesManagerTarget
    24 from pyams_content.component.theme.interfaces import IThemesManagerTarget
    22 from pyams_content.features.footer.interfaces import IFooterTarget
    25 from pyams_content.features.footer.interfaces import IFooterTarget
    23 from pyams_content.features.header.interfaces import IHeaderTarget
    26 from pyams_content.features.header.interfaces import IHeaderTarget
    24 from pyams_content.features.preview.interfaces import IPreviewTarget
    27 from pyams_content.features.preview.interfaces import IPreviewTarget
    25 from pyams_content.reference.pictograms.interfaces import IPictogramManagerTarget
    28 from pyams_content.reference.pictograms.interfaces import IPictogramManagerTarget
    26 from pyams_content.root.interfaces import ISiteRoot
    29 from pyams_content.root.interfaces import ISiteRoot
       
    30 from pyams_content.shared.blog import BlogPost
    27 from pyams_content.shared.blog.interfaces import IBlogManager, IBlogFolder, IBlogFolderFactory, IBlogManagerFactory
    31 from pyams_content.shared.blog.interfaces import IBlogManager, IBlogFolder, IBlogFolderFactory, IBlogManagerFactory
    28 from pyams_content.shared.common.interfaces import ISharedContentFactory
    32 from pyams_content.shared.common.interfaces import ISharedContentFactory
       
    33 from pyams_content.shared.common.manager import BaseSharedTool
    29 from pyams_portal.interfaces import IPortalContext
    34 from pyams_portal.interfaces import IPortalContext
    30 from zope.component.interfaces import ISite
       
    31 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectRemovedEvent
       
    32 
       
    33 # import packages
       
    34 from pyams_content.shared.blog import BlogPost
       
    35 from pyams_content.shared.common.manager import BaseSharedTool
       
    36 from pyams_skin.skin import UserSkinnableContent
    35 from pyams_skin.skin import UserSkinnableContent
    37 from pyams_utils.adapter import adapter_config
    36 from pyams_utils.adapter import adapter_config
    38 from pyams_utils.traversing import get_parent
    37 from pyams_utils.traversing import get_parent
    39 from pyramid.events import subscriber
       
    40 from zope.container.folder import Folder
       
    41 from zope.interface import implementer
       
    42 from zope.schema.fieldproperty import FieldProperty
       
    43 
    38 
    44 
    39 
    45 @implementer(IBlogFolder)
    40 @implementer(IBlogFolder)
    46 class BlogFolder(Folder):
    41 class BlogFolder(Folder):
    47     """Blog folder class"""
    42     """Blog folder class"""
    55 
    50 
    56 @implementer(IBlogManager, IParagraphFactorySettings, IThemesManagerTarget, IPictogramManagerTarget,
    51 @implementer(IBlogManager, IParagraphFactorySettings, IThemesManagerTarget, IPictogramManagerTarget,
    57              IIllustrationTarget, ILinkIllustrationTarget, IHeaderTarget, IFooterTarget, IPortalContext, IPreviewTarget)
    52              IIllustrationTarget, ILinkIllustrationTarget, IHeaderTarget, IFooterTarget, IPortalContext, IPreviewTarget)
    58 class BlogManager(Folder, BaseSharedTool, UserSkinnableContent):
    53 class BlogManager(Folder, BaseSharedTool, UserSkinnableContent):
    59     """Nlog manager class"""
    54     """Nlog manager class"""
       
    55 
       
    56     description = FieldProperty(IBlogManager['description'])
       
    57     notepad = FieldProperty(IBlogManager['notepad'])
    60 
    58 
    61     allowed_paragraphs = FieldProperty(IParagraphFactorySettings['allowed_paragraphs'])
    59     allowed_paragraphs = FieldProperty(IParagraphFactorySettings['allowed_paragraphs'])
    62     auto_created_paragraphs = FieldProperty(IParagraphFactorySettings['auto_created_paragraphs'])
    60     auto_created_paragraphs = FieldProperty(IParagraphFactorySettings['auto_created_paragraphs'])
    63 
    61 
    64     sequence_name = ''  # use default sequence generator
    62     sequence_name = ''  # use default sequence generator