src/pyams_content/root/__init__.py
changeset 558 d9c6b1d7fefa
parent 547 5eb6713c8e7d
child 593 5a9e74e11f4f
equal deleted inserted replaced
557:a78ade534b97 558:d9c6b1d7fefa
    28 from pyams_form.interfaces.form import IFormContextPermissionChecker
    28 from pyams_form.interfaces.form import IFormContextPermissionChecker
    29 from pyams_portal.interfaces import IPortalContext
    29 from pyams_portal.interfaces import IPortalContext
    30 from pyams_security.interfaces import IDefaultProtectionPolicy, IGrantedRoleEvent, ISecurityManager
    30 from pyams_security.interfaces import IDefaultProtectionPolicy, IGrantedRoleEvent, ISecurityManager
    31 from pyams_utils.interfaces import MANAGE_SYSTEM_PERMISSION
    31 from pyams_utils.interfaces import MANAGE_SYSTEM_PERMISSION
    32 from pyams_utils.interfaces.site import IConfigurationFactory, IBackOfficeConfigurationFactory, ISiteRootFactory
    32 from pyams_utils.interfaces.site import IConfigurationFactory, IBackOfficeConfigurationFactory, ISiteRootFactory
    33 from zope.annotation.interfaces import IAnnotations
       
    34 
    33 
    35 # import packages
    34 # import packages
    36 from persistent import Persistent
    35 from persistent import Persistent
    37 from pyams_security.property import RolePrincipalsFieldProperty
    36 from pyams_security.property import RolePrincipalsFieldProperty
    38 from pyams_security.security import ProtectedObject
    37 from pyams_security.security import ProtectedObject
    39 from pyams_skin.configuration import Configuration, BackOfficeConfiguration
    38 from pyams_skin.configuration import Configuration, BackOfficeConfiguration
    40 from pyams_skin.skin import UserSkinnableContent
    39 from pyams_skin.skin import UserSkinnableContent
    41 from pyams_utils.adapter import adapter_config, ContextAdapter
    40 from pyams_utils.adapter import adapter_config, ContextAdapter, get_annotation_adapter
    42 from pyams_utils.registry import get_utility, utility_config
    41 from pyams_utils.registry import get_utility, utility_config
    43 from pyams_utils.site import BaseSiteRoot
    42 from pyams_utils.site import BaseSiteRoot
    44 from pyams_utils.traversing import get_parent
    43 from pyams_utils.traversing import get_parent
    45 from pyramid.events import subscriber
    44 from pyramid.events import subscriber
    46 from zope.interface import implementer
    45 from zope.interface import implementer
   134     forms_tool_name = None
   133     forms_tool_name = None
   135     imagemaps_tool_name = None
   134     imagemaps_tool_name = None
   136     logos_tool_name = None
   135     logos_tool_name = None
   137     news_tool_name = None
   136     news_tool_name = None
   138 
   137 
       
   138 
   139 SITEROOT_TOOLS_CONFIGURATION_KEY = 'pyams_config.tools.configuration'
   139 SITEROOT_TOOLS_CONFIGURATION_KEY = 'pyams_config.tools.configuration'
   140 
   140 
   141 
   141 
   142 @adapter_config(context=ISiteRoot, provides=ISiteRootToolsConfiguration)
   142 @adapter_config(context=ISiteRoot, provides=ISiteRootToolsConfiguration)
   143 def site_root_tools_configuration_factory(context):
   143 def site_root_tools_configuration_factory(context):
   144     """Site root tools configuration factory"""
   144     """Site root tools configuration factory"""
   145     annotations = IAnnotations(context)
   145     return get_annotation_adapter(context, SITEROOT_TOOLS_CONFIGURATION_KEY, SiteRootToolsConfiguration)
   146     config = annotations.get(SITEROOT_TOOLS_CONFIGURATION_KEY)
       
   147     if config is None:
       
   148         config = annotations[SITEROOT_TOOLS_CONFIGURATION_KEY] = SiteRootToolsConfiguration()
       
   149     return config