src/pyams_content/shared/blog/manager.py
changeset 158 6d33dc9fa364
parent 112 924619bba393
child 192 8a16d2f507d7
equal deleted inserted replaced
157:35d11e8461e2 158:6d33dc9fa364
    14 
    14 
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
       
    19 from pyams_content.component.paragraph.interfaces import IParagraphFactorySettings
    19 from pyams_content.component.theme.interfaces import IThemesManagerTarget
    20 from pyams_content.component.theme.interfaces import IThemesManagerTarget
    20 from pyams_content.shared.blog.interfaces import IBlogManager, BLOG_CONTENT_TYPE, IBlogFolder
    21 from pyams_content.shared.blog.interfaces import IBlogManager, BLOG_CONTENT_TYPE, IBlogFolder
    21 from pyams_portal.interfaces import IPortalContext
    22 from pyams_portal.interfaces import IPortalContext
    22 from zope.annotation.interfaces import IAttributeAnnotatable
    23 from zope.annotation.interfaces import IAttributeAnnotatable
    23 from zope.component.interfaces import ISite
    24 from zope.component.interfaces import ISite
    29 from pyams_skin.skin import UserSkinnableContent
    30 from pyams_skin.skin import UserSkinnableContent
    30 from pyams_utils.traversing import get_parent
    31 from pyams_utils.traversing import get_parent
    31 from pyramid.events import subscriber
    32 from pyramid.events import subscriber
    32 from zope.container.folder import Folder
    33 from zope.container.folder import Folder
    33 from zope.interface import implementer
    34 from zope.interface import implementer
       
    35 from zope.schema.fieldproperty import FieldProperty
    34 
    36 
    35 
    37 
    36 @implementer(IBlogFolder)
    38 @implementer(IBlogFolder)
    37 class BlogFolder(Folder):
    39 class BlogFolder(Folder):
    38     """Blog folder class"""
    40     """Blog folder class"""
    39 
    41 
    40 
    42 
    41 @implementer(IBlogManager, IThemesManagerTarget, IAttributeAnnotatable, IPortalContext)
    43 @implementer(IBlogManager, IParagraphFactorySettings, IThemesManagerTarget, IAttributeAnnotatable, IPortalContext)
    42 class BlogManager(SharedTool, UserSkinnableContent):
    44 class BlogManager(SharedTool, UserSkinnableContent):
    43     """Nlog manager class"""
    45     """Nlog manager class"""
    44 
    46 
    45     shared_content_type = BLOG_CONTENT_TYPE
    47     shared_content_type = BLOG_CONTENT_TYPE
    46     shared_content_factory = BlogPost
    48     shared_content_factory = BlogPost
       
    49 
       
    50     auto_created_paragraphs = FieldProperty(IParagraphFactorySettings['auto_created_paragraphs'])
    47 
    51 
    48 
    52 
    49 @subscriber(IObjectAddedEvent, context_selector=IBlogManager)
    53 @subscriber(IObjectAddedEvent, context_selector=IBlogManager)
    50 def handle_added_blog_manager(event):
    54 def handle_added_blog_manager(event):
    51     """Register blog manager when added"""
    55     """Register blog manager when added"""