--- a/src/pyams_content/shared/site/interfaces/__init__.py Fri Oct 12 14:33:03 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-#
-# Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net>
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-
-__docformat__ = 'restructuredtext'
-
-from collections import OrderedDict
-
-from zope.annotation.interfaces import IAttributeAnnotatable
-from zope.container.constraints import containers, contains
-from zope.container.interfaces import IContained, IContainer
-from zope.interface import Attribute, Interface
-from zope.schema import Bool, Choice, Text
-from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary
-
-from pyams_content import _
-from pyams_content.interfaces import IBaseContent
-from pyams_content.shared.common.interfaces import IBaseContentManagerRoles, IBaseSharedTool, IDeletableElement, \
- ISharedSite
-from pyams_content.shared.topic.interfaces import ITopic, IWfTopic, IWfTopicFactory
-from pyams_i18n.schema import I18nTextField, I18nTextLineField
-from pyams_sequence.interfaces import IInternalReference, ISequentialIdTarget
-from pyams_workflow.interfaces import IWorkflowPublicationSupport
-
-
-FOLDER_REDIRECT_DISPLAY_MODE = 'redirect'
-FOLDER_TEMPLATE_DISPLAY_MODE = 'template'
-
-FOLDER_DISPLAY_MODES = OrderedDict((
- (FOLDER_REDIRECT_DISPLAY_MODE, _("Redirect to first visible sub-folder or content")),
- (FOLDER_TEMPLATE_DISPLAY_MODE, _("Use presentation template"))
-))
-
-FOLDER_DISPLAY_MODE_VOCABULARY = SimpleVocabulary([SimpleTerm(v, title=t) for v, t in FOLDER_DISPLAY_MODES.items()])
-
-
-class ISiteElement(IContained, IDeletableElement):
- """Base site element interface"""
-
- containers('.ISiteContainer')
-
- content_name = Attribute("Content name")
-
-
-class ISiteContainer(IContainer, IContained, IWorkflowPublicationSupport):
- """Base site container interface"""
-
- contains(ISiteElement)
-
- def get_folders_tree(self, selected=None):
- """Get site tree in JSON format"""
-
-
-class ISiteFolder(IBaseContent, ISiteElement, ISiteContainer, ISequentialIdTarget):
- """Site folder interface
-
- A site folder is made to contain sub-folders and topics
- """
-
- heading = I18nTextField(title=_("Heading"),
- description=_("Heading displayed according to presentation template"),
- required=False)
-
- description = I18nTextField(title=_("Meta-description"),
- description=_("The folder's description is 'hidden' into HTML's page headers; but it "
- "can be seen, for example, in some search engines results as content's "
- "description; if description is empty, content's header will be used."),
- required=False)
-
- notepad = Text(title=_("Notepad"),
- description=_("Internal information to be known about this content"),
- required=False)
-
- visible_in_list = Bool(title=_("Visible in folders list"),
- description=_("If 'no', folder will not be displayed into folders list"),
- required=True,
- default=True)
-
- navigation_title = I18nTextLineField(title=_("Navigation title"),
- description=_("Folder's title displayed in navigation pages; "
- "original title will be used if none is specified"),
- required=False)
-
- navigation_mode = Choice(title=_("Navigation mode"),
- description=_("Folder behaviour when navigating to folder URL"),
- required=True,
- vocabulary=FOLDER_DISPLAY_MODE_VOCABULARY,
- default=FOLDER_REDIRECT_DISPLAY_MODE)
-
-
-class ISiteFolderFactory(Interface):
- """Site folder factory interface"""
-
-
-class ISiteFolderRoles(IBaseContentManagerRoles):
- """Site folder roles interface"""
-
-
-class ISiteManager(ISharedSite, ISiteContainer, IBaseSharedTool, IDeletableElement, ISequentialIdTarget):
- """Site manager interface"""
-
- contains(ISiteElement)
-
- folder_factory = Attribute("Folder factory")
-
- topic_content_type = Attribute("Topic content type")
- topic_content_factory = Attribute("Topic content factory")
-
- description = I18nTextField(title=_("Meta-description"),
- description=_("The site's description is 'hidden' into HTML's page headers; but it "
- "can be seen, for example, in some search engines results as content's "
- "description; if description is empty, content's header will be used."),
- required=False)
-
- notepad = Text(title=_("Notepad"),
- description=_("Internal information to be known about this content"),
- required=False)
-
-
-class ISiteManagerFactory(Interface):
- """Site manager factory interface"""
-
-
-SITE_TOPIC_CONTENT_TYPE = 'site-topic'
-SITE_TOPIC_CONTENT_NAME = _("Site topic")
-
-
-class IWfSiteTopic(IWfTopic):
- """Site topic interface"""
-
-
-class IWfSiteTopicFactory(IWfTopicFactory):
- """Topic factory interface"""
-
-
-class ISiteTopic(ITopic, ISiteElement):
- """Workflow managed site topic interface"""
-
-
-class IContentLink(ISiteElement, IInternalReference, IAttributeAnnotatable):
- """Rented content interface"""
-
- navigation_title = I18nTextLineField(title=_("Navigation title"),
- description=_("Alternate content's title displayed in navigation pages; "
- "original title will be used if none is specified"),
- required=False)
-
- visible = Bool(title=_("Visible?"),
- description=_("If 'no', link is not visible"),
- required=True,
- default=True)