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.ordered import OrderedContainer |
|
18 from zope.interface import implementer |
|
19 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectRemovedEvent |
|
20 from zope.schema.fieldproperty import FieldProperty |
|
21 from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary |
15 |
22 |
16 # import standard library |
|
17 |
|
18 # import interfaces |
|
19 from pyams_content.component.illustration import IIllustrationTarget, ILinkIllustrationTarget |
23 from pyams_content.component.illustration import IIllustrationTarget, ILinkIllustrationTarget |
20 from pyams_content.component.paragraph.interfaces import IParagraphFactorySettings |
24 from pyams_content.component.paragraph.interfaces import IParagraphFactorySettings |
21 from pyams_content.component.theme.interfaces import IThemesManagerTarget |
25 from pyams_content.component.theme.interfaces import IThemesManagerTarget |
22 from pyams_content.features.footer.interfaces import IFooterTarget |
26 from pyams_content.features.footer.interfaces import IFooterTarget |
23 from pyams_content.features.header.interfaces import IHeaderTarget |
27 from pyams_content.features.header.interfaces import IHeaderTarget |
24 from pyams_content.features.preview.interfaces import IPreviewTarget |
28 from pyams_content.features.preview.interfaces import IPreviewTarget |
25 from pyams_content.interfaces import MANAGE_SITE_PERMISSION |
29 from pyams_content.interfaces import MANAGE_SITE_PERMISSION |
26 from pyams_content.reference.pictograms.interfaces import IPictogramManagerTarget |
30 from pyams_content.reference.pictograms.interfaces import IPictogramManagerTarget |
27 from pyams_content.root.interfaces import ISiteRoot |
31 from pyams_content.root.interfaces import ISiteRoot |
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 |
|
34 from pyams_content.shared.site import Topic |
|
35 from pyams_content.shared.site.container import SiteContainerMixin |
|
36 from pyams_content.shared.site.folder import SiteFolder |
29 from pyams_content.shared.site.interfaces import ISiteManager, ISiteManagerFactory, ISiteFolderFactory, ISiteContainer |
37 from pyams_content.shared.site.interfaces import ISiteManager, ISiteManagerFactory, ISiteFolderFactory, ISiteContainer |
30 from pyams_form.interfaces.form import IFormContextPermissionChecker |
38 from pyams_form.interfaces.form import IFormContextPermissionChecker |
31 from pyams_i18n.interfaces import II18n |
39 from pyams_i18n.interfaces import II18n |
32 from pyams_portal.interfaces import IPortalContext |
40 from pyams_portal.interfaces import IPortalContext |
33 from zope.component.interfaces import ISite |
|
34 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectRemovedEvent |
|
35 |
|
36 # import packages |
|
37 from pyams_content.shared.common.manager import BaseSharedTool |
|
38 from pyams_content.shared.site import Topic |
|
39 from pyams_content.shared.site.container import SiteContainerMixin |
|
40 from pyams_content.shared.site.folder import SiteFolder |
|
41 from pyams_skin.skin import UserSkinnableContent |
41 from pyams_skin.skin import UserSkinnableContent |
42 from pyams_utils.adapter import adapter_config, ContextAdapter |
42 from pyams_utils.adapter import adapter_config, ContextAdapter |
43 from pyams_utils.registry import get_utilities_for |
43 from pyams_utils.registry import get_utilities_for |
44 from pyams_utils.request import query_request |
44 from pyams_utils.request import query_request |
45 from pyams_utils.traversing import get_parent |
45 from pyams_utils.traversing import get_parent |
46 from pyams_utils.vocabulary import vocabulary_config |
46 from pyams_utils.vocabulary import vocabulary_config |
47 from pyramid.events import subscriber |
|
48 from zope.container.ordered import OrderedContainer |
|
49 from zope.interface import implementer |
|
50 from zope.schema.fieldproperty import FieldProperty |
|
51 from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary |
|
52 |
47 |
53 from pyams_content import _ |
48 from pyams_content import _ |
54 |
49 |
55 |
50 |
56 @implementer(ISiteManager, IParagraphFactorySettings, IThemesManagerTarget, IPictogramManagerTarget, |
51 @implementer(ISiteManager, IParagraphFactorySettings, IThemesManagerTarget, IPictogramManagerTarget, |
57 IIllustrationTarget, ILinkIllustrationTarget, IPortalContext, IHeaderTarget, |
52 IIllustrationTarget, ILinkIllustrationTarget, IPortalContext, IHeaderTarget, |
58 IFooterTarget, IPreviewTarget) |
53 IFooterTarget, IPreviewTarget) |
59 class SiteManager(SiteContainerMixin, OrderedContainer, BaseSharedTool, UserSkinnableContent): |
54 class SiteManager(SiteContainerMixin, OrderedContainer, BaseSharedTool, UserSkinnableContent): |
60 """Site manager persistent class""" |
55 """Site manager persistent class""" |
|
56 |
|
57 description = FieldProperty(ISiteManager['description']) |
|
58 notepad = FieldProperty(ISiteManager['notepad']) |
61 |
59 |
62 allowed_paragraphs = FieldProperty(IParagraphFactorySettings['allowed_paragraphs']) |
60 allowed_paragraphs = FieldProperty(IParagraphFactorySettings['allowed_paragraphs']) |
63 auto_created_paragraphs = FieldProperty(IParagraphFactorySettings['auto_created_paragraphs']) |
61 auto_created_paragraphs = FieldProperty(IParagraphFactorySettings['auto_created_paragraphs']) |
64 |
62 |
65 sequence_name = '' # use default sequence generator |
63 sequence_name = '' # use default sequence generator |