src/pyams_content/root/__init__.py
changeset 491 828f9c9303cf
parent 487 093f201e3168
child 501 3407e6940f6a
equal deleted inserted replaced
490:30fcd0659601 491:828f9c9303cf
    24     ISiteRootToolsConfiguration, ISiteRootBackOfficeConfiguration
    24     ISiteRootToolsConfiguration, ISiteRootBackOfficeConfiguration
    25 from pyams_form.interfaces.form import IFormContextPermissionChecker
    25 from pyams_form.interfaces.form import IFormContextPermissionChecker
    26 from pyams_portal.interfaces import IPortalContext
    26 from pyams_portal.interfaces import IPortalContext
    27 from pyams_security.interfaces import IDefaultProtectionPolicy, IGrantedRoleEvent, ISecurityManager
    27 from pyams_security.interfaces import IDefaultProtectionPolicy, IGrantedRoleEvent, ISecurityManager
    28 from pyams_utils.interfaces import MANAGE_SYSTEM_PERMISSION
    28 from pyams_utils.interfaces import MANAGE_SYSTEM_PERMISSION
    29 from pyams_utils.interfaces.site import IConfigurationFactory, IBackOfficeConfigurationFactory
    29 from pyams_utils.interfaces.site import IConfigurationFactory, IBackOfficeConfigurationFactory, ISiteRootFactory
    30 from zope.annotation.interfaces import IAnnotations
    30 from zope.annotation.interfaces import IAnnotations
    31 
    31 
    32 # import packages
    32 # import packages
    33 from persistent import Persistent
    33 from persistent import Persistent
    34 from pyams_security.property import RolePrincipalsFieldProperty
    34 from pyams_security.property import RolePrincipalsFieldProperty
    35 from pyams_security.security import ProtectedObject
    35 from pyams_security.security import ProtectedObject
    36 from pyams_skin.configuration import Configuration, BackOfficeConfiguration
    36 from pyams_skin.configuration import Configuration, BackOfficeConfiguration
    37 from pyams_skin.skin import UserSkinnableContent
    37 from pyams_skin.skin import UserSkinnableContent
    38 from pyams_utils.adapter import adapter_config, ContextAdapter
    38 from pyams_utils.adapter import adapter_config, ContextAdapter
    39 from pyams_utils.registry import get_utility
    39 from pyams_utils.registry import get_utility, utility_config
    40 from pyams_utils.site import BaseSiteRoot
    40 from pyams_utils.site import BaseSiteRoot
    41 from pyams_utils.traversing import get_parent
    41 from pyams_utils.traversing import get_parent
    42 from pyramid.events import subscriber
    42 from pyramid.events import subscriber
    43 from zope.interface import implementer
    43 from zope.interface import implementer
    44 
    44 
    53 
    53 
    54     managers = RolePrincipalsFieldProperty(ISiteRootRoles['managers'])
    54     managers = RolePrincipalsFieldProperty(ISiteRootRoles['managers'])
    55     webmasters = RolePrincipalsFieldProperty(ISiteRootRoles['webmasters'])
    55     webmasters = RolePrincipalsFieldProperty(ISiteRootRoles['webmasters'])
    56     operators = RolePrincipalsFieldProperty(ISiteRootRoles['operators'])
    56     operators = RolePrincipalsFieldProperty(ISiteRootRoles['operators'])
    57     templates_managers = RolePrincipalsFieldProperty(ISiteRootRoles['templates_managers'])
    57     templates_managers = RolePrincipalsFieldProperty(ISiteRootRoles['templates_managers'])
       
    58 
       
    59 
       
    60 @utility_config(provides=ISiteRootFactory)
       
    61 class SiteRootFactory(object):
       
    62     """Default site root factory"""
       
    63 
       
    64     def __new__(cls):
       
    65         return SiteRoot
    58 
    66 
    59 
    67 
    60 @implementer(ISiteRootConfiguration)
    68 @implementer(ISiteRootConfiguration)
    61 class SiteRootConfiguration(Configuration):
    69 class SiteRootConfiguration(Configuration):
    62     """Site root configuration"""
    70     """Site root configuration"""