src/pyams_content/shared/blog/interfaces/__init__.py
changeset 492 04503227569d
parent 297 4f385d0a5ce7
child 621 a75b1fc09fde
--- a/src/pyams_content/shared/blog/interfaces/__init__.py	Thu Mar 22 14:50:32 2018 +0100
+++ b/src/pyams_content/shared/blog/interfaces/__init__.py	Thu Mar 22 14:52:22 2018 +0100
@@ -16,7 +16,7 @@
 # import standard library
 
 # import interfaces
-from pyams_content.shared.common.interfaces import ISharedSite, ISharedTool, IWfSharedContent, ISharedContent, \
+from pyams_content.shared.common.interfaces import ISharedSite, IBaseSharedTool, IWfSharedContent, ISharedContent, \
     IDeletableElement
 from pyams_sequence.interfaces import ISequentialIdTarget
 from pyams_workflow.interfaces import IWorkflowPublicationSupport
@@ -24,7 +24,7 @@
 
 # import packages
 from zope.container.constraints import containers, contains
-from zope.interface import Attribute
+from zope.interface import Attribute, Interface
 
 from pyams_content import _
 
@@ -37,6 +37,10 @@
     """Blog topic interface"""
 
 
+class IWfBlogPostFactory(Interface):
+    """Blog post factory interface"""
+
+
 class IBlogPost(ISharedContent, IDeletableElement):
     """Workflow managed blog post interface"""
 
@@ -50,9 +54,20 @@
     contains('.IBlogFolder', '.IBlogPost')
 
 
-class IBlogManager(ISharedSite, ISharedTool, IWorkflowPublicationSupport, IDeletableElement, ISequentialIdTarget):
+class IBlogFolderFactory(Interface):
+    """Blog folder factory interface"""
+
+
+class IBlogManager(ISharedSite, IBaseSharedTool, IWorkflowPublicationSupport, IDeletableElement, ISequentialIdTarget):
     """Blog manager interface"""
 
     contains(IBlogFolder)
 
     folder_factory = Attribute("Blog folder factory")
+
+    topic_content_type = Attribute("Topic content type")
+    topic_content_factory = Attribute("Topic content factory")
+
+
+class IBlogManagerFactory(Interface):
+    """Blog manager factory interface"""