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 |