# HG changeset patch # User Thierry Florac # Date 1511686611 -3600 # Node ID ec12c83bc8a56ebb53a7e9bc290168ccfb96ae61 # Parent 3c4cf9537da7b397e87183ba2d14c3260695b1ce Added containment restrictions diff -r 3c4cf9537da7 -r ec12c83bc8a5 src/pyams_content/shared/blog/interfaces/__init__.py --- a/src/pyams_content/shared/blog/interfaces/__init__.py Sun Nov 26 09:56:24 2017 +0100 +++ b/src/pyams_content/shared/blog/interfaces/__init__.py Sun Nov 26 09:56:51 2017 +0100 @@ -17,9 +17,12 @@ # import interfaces from pyams_content.shared.common.interfaces import ISharedSite, ISharedTool, IWfSharedContent, ISharedContent +from pyams_sequence.interfaces import ISequentialIdTarget +from pyams_workflow.interfaces import IWorkflowPublicationSupport from zope.container.interfaces import IContainer # import packages +from zope.container.constraints import containers, contains from pyams_content import _ @@ -28,17 +31,24 @@ BLOG_CONTENT_NAME = _("Blog post") -class IBlogManager(ISharedSite, ISharedTool): - """Blog manager interface""" +class IWfBlogPost(IWfSharedContent): + """Blog topic interface""" -class IWfBlogPost(IWfSharedContent): - """Blog topic interface""" +class IBlogPost(ISharedContent): + """Workflow managed blog post interface""" + + containers('.IBlogFolder') class IBlogFolder(IContainer): """Blog folder interface""" + containers('.IBlogManager', '.IBlogFolder') + contains('.IBlogFolder', '.IBlogPost') -class IBlogPost(ISharedContent): - """Workflow managed blog post interface""" + +class IBlogManager(ISharedSite, ISharedTool, IWorkflowPublicationSupport, ISequentialIdTarget): + """Blog manager interface""" + + contains(IBlogFolder)