src/pyams_content/shared/view/interfaces/__init__.py
branchdev-dc
changeset 1086 3d259e1718ef
parent 1079 a5e56749ca3d
parent 1084 6b6a884fa28a
child 1087 978a2b9123b9
--- a/src/pyams_content/shared/view/interfaces/__init__.py	Fri Oct 12 14:33:03 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +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'
-
-
-# import standard library
-
-# import interfaces
-from pyams_content.shared.common.interfaces import ISharedContent, IWfSharedContent, ISharedTool, \
-    CONTENT_TYPES_VOCABULARY
-from pyams_content.shared.common.interfaces.types import ALL_DATA_TYPES_VOCABULARY
-from pyams_sequence.interfaces import IInternalReferencesList
-
-# import packages
-from pyams_thesaurus.schema import ThesaurusTermsListField
-from zope.interface import Interface, Attribute
-from zope.schema import Set, Choice, Bool, Int
-from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
-
-from pyams_content import _
-
-
-VIEW_CONTENT_TYPE = 'view'
-VIEW_CONTENT_NAME = _('View')
-
-
-CREATION_DATE_ORDER = 'created_date'
-UPDATE_DATE_ORDER = 'modified_date'
-PUBLICATION_DATE_ORDER = 'publication_date'
-FIRSTPUBLICATION_DATE_ORDER = 'first_publication_date'
-
-VIEW_ORDERS = (
-    {'id': CREATION_DATE_ORDER, 'title': _("Creation date")},
-    {'id': UPDATE_DATE_ORDER, 'title': _("Last update date")},
-    {'id': PUBLICATION_DATE_ORDER, 'title': _("Current publication date")},
-    {'id': FIRSTPUBLICATION_DATE_ORDER, 'title': _("First publication date")}
-)
-
-VIEW_ORDER_VOCABULARY = SimpleVocabulary([SimpleTerm(item['id'], title=item['title'])
-                                          for item in VIEW_ORDERS])
-
-
-class IViewsManager(ISharedTool):
-    """Views manager interface"""
-
-
-class IViewsManagerFactory(Interface):
-    """Views manager factory interface"""
-
-
-class IWfView(IWfSharedContent):
-    """View interface"""
-
-    select_context_type = Bool(title=_("Select context type?"),
-                               description=_("If 'yes', content type will be extracted from context"),
-                               required=True,
-                               default=False)
-
-    selected_content_types = Set(title=_("Other content types"),
-                                 description=_("Selected content types; leave empty for all"),
-                                 value_type=Choice(vocabulary=CONTENT_TYPES_VOCABULARY),
-                                 required=False)
-
-    def get_content_types(self, context):
-        """Get content types for given context"""
-
-    select_context_datatype = Bool(title=_("Select context data type?"),
-                                   description=_("If 'yes', content data type (if available) will be extracted from "
-                                                 "context"),
-                                   required=True,
-                                   default=False)
-
-    selected_datatypes = Set(title=_("Other data types"),
-                             description=_("Selected data types; leave empty for all"),
-                             value_type=Choice(vocabulary=ALL_DATA_TYPES_VOCABULARY),
-                             required=False)
-
-    def get_data_types(self, context):
-        """Get data types for given context"""
-
-    order_by = Choice(title=_("Order by"),
-                      description=_("Property to use to sort results"),
-                      vocabulary=VIEW_ORDER_VOCABULARY,
-                      required=True,
-                      default=FIRSTPUBLICATION_DATE_ORDER)
-
-    reversed_order = Bool(title=_("Reversed order?"),
-                          description=_("If 'yes', items order will be reversed"),
-                          required=True,
-                          default=True)
-
-    limit = Int(title=_("Results count limit"),
-                description=_("Maximum number of results that the view may retrieve"),
-                required=False)
-
-    is_using_context = Attribute("Check if view is using context settings")
-
-    def get_results(self, context, sort_index=None, reverse=True, limit=None, ignore_cache=False):
-        """Get results of catalog query"""
-
-
-class IWfViewFactory(Interface):
-    """View factory interface"""
-
-
-class IView(ISharedContent):
-    """Workflow managed view interface"""
-
-
-class IViewSettings(Interface):
-    """Base interface for view settings adapters"""
-
-    is_using_context = Attribute("Check if view settings are using context")
-
-
-class IViewQuery(Interface):
-    """View query interface"""
-
-    def get_results(self, context, sort_index, reverse, limit):
-        """Get results of catalog query"""
-
-
-class IViewQueryExtension(Interface):
-    """Base view query extension"""
-
-    weight = Attribute("Extension weight")
-
-
-class IViewQueryParamsExtension(IViewQueryExtension):
-    """View query extension interface"""
-
-    def get_params(self, context):
-        """Add params to catalog query"""
-
-
-class IViewQueryEsParamsExtension(IViewQueryExtension):
-    """View query parameters extension for Elasticsearch"""
-
-    def get_es_params(self, context):
-        """Add params to Elasticsearch query"""
-
-
-class IViewQueryFilterExtension(IViewQueryExtension):
-    """View query filter extension"""
-
-    def filter(self, context, items):
-        """Filter items after catalog query"""
-
-
-VIEW_REFERENCES_SETTINGS_KEY = 'pyams_content.view.references'
-
-
-ALWAYS_REFERENCE_MODE = 'always'
-IFEMPTY_REFERENCE_MODE = 'if_empty'
-
-REFERENCES_MODES = {ALWAYS_REFERENCE_MODE: _("Always include selected internal references"),
-                    IFEMPTY_REFERENCE_MODE: _("Include selected internal references only if empty")}
-
-REFERENCES_MODES_VOCABULARY = SimpleVocabulary([SimpleTerm(v, title=t)
-                                                for v, t in REFERENCES_MODES.items()])
-
-
-class IViewInternalReferencesSettings(IViewSettings, IInternalReferencesList):
-    """View internal references settings"""
-
-    references_mode = Choice(title=_("Internal references usage"),
-                             description=_("Specify how selected references are included into view results"),
-                             vocabulary=REFERENCES_MODES_VOCABULARY,
-                             required=True,
-                             default=ALWAYS_REFERENCE_MODE)
-
-    exclude_context = Bool(title=_("Exclude context?"),
-                           description=_("If 'yes', context will be excluded from results list"),
-                           required=True,
-                           default=True)
-
-
-VIEW_TAGS_SETTINGS_KEY = 'pyams_content.view.tags'
-
-
-class IViewTagsSettings(IViewSettings):
-    """View tags settings"""
-
-    select_context_tags = Bool(title=_("Select context tags?"),
-                               description=_("If 'yes', tags will be extracted from context"),
-                               required=False,
-                               default=False)
-
-    tags = ThesaurusTermsListField(title=_("Other tags"),
-                                   required=False)
-
-    def get_tags(self, context):
-        """Get all tags for given context"""
-
-    def get_tags_index(self, context):
-        """Get all tags index values for given context"""
-
-
-VIEW_THEMES_SETTINGS_KEY = 'pyams_content.view.themes'
-
-
-class IViewThemesSettings(IViewSettings):
-    """View themes settings"""
-
-    select_context_themes = Bool(title=_("Select context themes?"),
-                                 description=_("If 'yes', themes will be extracted from context"),
-                                 required=False,
-                                 default=False)
-
-    themes = ThesaurusTermsListField(title=_("Other themes"),
-                                     required=False)
-
-    def get_themes(self, context):
-        """Get all themes for given context"""
-
-    def get_themes_index(self, context):
-        """Get all themes index values for given context"""
-
-
-VIEW_COLLECTIONS_SETTINGS_KEY = 'pyams_content.view.collections'
-
-
-class IViewCollectionsSettings(IViewSettings):
-    """View collections settings"""
-
-    select_context_collections = Bool(title=_("Select context collections?"),
-                                      description=_("If 'yes', collections will be extracted from context"),
-                                      required=False,
-                                      default=False)
-
-    collections = ThesaurusTermsListField(title=_("Other collections"),
-                                          required=False)
-
-    def get_collections(self, context):
-        """Get all collections for given context"""
-
-    def get_collections_index(self, context):
-        """Get all collections index values for given context"""
-
-
-VIEWS_MERGERS_VOCABULARY = 'pyams_content.views.mergers'
-
-
-class IViewsMerger(Interface):
-    """Interface used to define views mergers
-
-    Mergers are used to merge results of several views.
-    """
-
-    def get_results(self, views, context, ignore_cache=False):
-        """Merge results of several views together"""