src/pyams_content/component/keynumber/__init__.py
changeset 1190 d4510a0252b0
parent 841 d50743e69693
child 1240 921ff38f1aae
equal deleted inserted replaced
1189:26b86361e20b 1190:d4510a0252b0
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
       
    19 from pyams_content.component.keynumber.interfaces import IKeyNumber, IKeyNumberContainerTarget, IKeyNumberContainer, \
       
    20     KEYNUMBER_CONTAINER_KEY
       
    21 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE
       
    22 from pyams_form.interfaces.form import IFormContextPermissionChecker
       
    23 from pyams_i18n.interfaces import II18n, II18nManager, INegotiator
       
    24 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent
       
    25 from zope.location.interfaces import ISublocations
       
    26 from zope.traversing.interfaces import ITraversable
       
    27 
       
    28 # import packages
       
    29 from pyams_catalog.utils import index_object
       
    30 from pyams_content.features.checker import BaseContentChecker
       
    31 from pyams_utils.adapter import adapter_config, ContextAdapter, get_annotation_adapter
       
    32 from pyams_utils.registry import get_current_registry, get_utility
       
    33 from pyams_utils.request import check_request
       
    34 from pyams_utils.traversing import get_parent
       
    35 from persistent import Persistent
    18 from persistent import Persistent
    36 from pyramid.events import subscriber
    19 from pyramid.events import subscriber
    37 from zope.container.contained import Contained
    20 from zope.container.contained import Contained
    38 from zope.container.ordered import OrderedContainer
    21 from zope.container.ordered import OrderedContainer
    39 from zope.interface import implementer
    22 from zope.interface import implementer
    40 from zope.lifecycleevent import ObjectModifiedEvent
    23 from zope.lifecycleevent import ObjectModifiedEvent
       
    24 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent
       
    25 from zope.location.interfaces import ISublocations
    41 from zope.location.location import locate
    26 from zope.location.location import locate
    42 from zope.schema.fieldproperty import FieldProperty
    27 from zope.schema.fieldproperty import FieldProperty
    43 
    28 from zope.traversing.interfaces import ITraversable
       
    29 
       
    30 # import packages
       
    31 from pyams_catalog.utils import index_object
    44 from pyams_content import _
    32 from pyams_content import _
       
    33 # import interfaces
       
    34 from pyams_content.component.keynumber.interfaces import IKeyNumber, IKeyNumberContainer, IKeyNumberContainerTarget, \
       
    35     KEYNUMBER_CONTAINER_KEY
       
    36 from pyams_content.features.checker import BaseContentChecker
       
    37 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_LANG_VALUE, MISSING_VALUE
       
    38 from pyams_form.interfaces.form import IFormContextPermissionChecker
       
    39 from pyams_i18n.interfaces import II18n, II18nManager, INegotiator
       
    40 from pyams_utils.adapter import ContextAdapter, adapter_config, get_annotation_adapter
       
    41 from pyams_utils.registry import get_current_registry, get_utility
       
    42 from pyams_utils.request import check_request
       
    43 from pyams_utils.traversing import get_parent
    45 
    44 
    46 
    45 
    47 #
    46 #
    48 # Key number class and adapters
    47 # Key number class and adapters
    49 #
    48 #
   168 
   167 
   169 @adapter_config(name='keynumbers', context=IKeyNumberContainerTarget, provides=ITraversable)
   168 @adapter_config(name='keynumbers', context=IKeyNumberContainerTarget, provides=ITraversable)
   170 class KeyNumberContainerNamespace(ContextAdapter):
   169 class KeyNumberContainerNamespace(ContextAdapter):
   171     """Key numbers container ++keynumbers++ namespace"""
   170     """Key numbers container ++keynumbers++ namespace"""
   172 
   171 
   173     def traverse(self, name, furtherpaath=None):
   172     def traverse(self, name, furtherpath=None):
   174         return IKeyNumberContainer(self.context)
   173         return IKeyNumberContainer(self.context)
   175 
   174 
   176 
   175 
   177 @adapter_config(name='keynumbers', context=IKeyNumberContainerTarget, provides=ISublocations)
   176 @adapter_config(name='keynumbers', context=IKeyNumberContainerTarget, provides=ISublocations)
   178 class KeyNumberContainerSublocations(ContextAdapter):
   177 class KeyNumberContainerSublocations(ContextAdapter):