src/pyams_default_theme/features/header/skin/__init__.py
changeset 254 bcee7f49b3ea
parent 249 b75d74082044
child 370 9a5f4a56e3ac
equal deleted inserted replaced
253:b6ff1877cb48 254:bcee7f49b3ea
    21 from pyams_cache.beaker import get_cache
    21 from pyams_cache.beaker import get_cache
    22 from pyams_content.component.association.interfaces import IAssociationInfo
    22 from pyams_content.component.association.interfaces import IAssociationInfo
    23 from pyams_content.features.header.interfaces import IHeaderRenderer, IHeaderRendererSettings, IHeaderSettings, \
    23 from pyams_content.features.header.interfaces import IHeaderRenderer, IHeaderRendererSettings, IHeaderSettings, \
    24     IHeaderTarget
    24     IHeaderTarget
    25 from pyams_content.features.renderer.interfaces import HIDDEN_RENDERER_NAME
    25 from pyams_content.features.renderer.interfaces import HIDDEN_RENDERER_NAME
       
    26 from pyams_content.root import ISiteRoot
    26 from pyams_default_theme.features.header import SimpleHeaderRendererSettings
    27 from pyams_default_theme.features.header import SimpleHeaderRendererSettings
    27 from pyams_default_theme.features.header.interfaces import ISimpleHeaderRendererSettings
    28 from pyams_default_theme.features.header.interfaces import ISimpleHeaderRendererSettings
    28 from pyams_default_theme.features.header.skin.interfaces import IHeaderClass
    29 from pyams_default_theme.features.header.skin.interfaces import IHeaderClass
    29 from pyams_default_theme.features.renderer import BaseContentRenderer
    30 from pyams_default_theme.features.renderer import BaseContentRenderer
    30 from pyams_portal.interfaces import PREVIEW_MODE
    31 from pyams_portal.interfaces import PREVIEW_MODE
    31 from pyams_portal.portlet import PORTLETS_CACHE_KEY, PORTLETS_CACHE_NAME, PORTLETS_CACHE_REGION
    32 from pyams_portal.portlet import PORTLETS_CACHE_KEY, PORTLETS_CACHE_NAME, PORTLETS_CACHE_REGION
    32 from pyams_sequence.interfaces import IInternalReference
    33 from pyams_sequence.interfaces import IInternalReference
       
    34 from pyams_sequence.reference import get_reference_target
    33 from pyams_skin.layer import IPyAMSLayer
    35 from pyams_skin.layer import IPyAMSLayer
    34 from pyams_template.template import template_config
    36 from pyams_template.template import template_config
    35 from pyams_utils.adapter import adapter_config
    37 from pyams_utils.adapter import adapter_config
    36 from pyams_utils.interfaces import ICacheKeyValue
    38 from pyams_utils.interfaces import ICacheKeyValue
    37 from pyams_utils.traversing import get_parent
    39 from pyams_utils.traversing import get_parent
    79     @property
    81     @property
    80     def main_header_class(self):
    82     def main_header_class(self):
    81         request = self.request
    83         request = self.request
    82         return request.registry.queryMultiAdapter((request.context, request), IHeaderClass, default='')
    84         return request.registry.queryMultiAdapter((request.context, request), IHeaderClass, default='')
    83 
    85 
       
    86     @property
       
    87     def search_target(self):
       
    88         return get_reference_target(self.settings.search_target, request=self.request)
       
    89 
    84     def render(self):
    90     def render(self):
       
    91         if ISiteRoot.providedBy(self.request.context) and not self.settings.can_apply_on_root:
       
    92             return ''
    85         preview_mode = self.request.annotations.get(PREVIEW_MODE, False)
    93         preview_mode = self.request.annotations.get(PREVIEW_MODE, False)
    86         if preview_mode:
    94         if preview_mode:
    87             return super(BaseHeaderRenderer, self).render()
    95             return super(BaseHeaderRenderer, self).render()
    88         else:
    96         else:
    89             portlets_cache = get_cache(PORTLETS_CACHE_REGION, PORTLETS_CACHE_NAME)
    97             portlets_cache = get_cache(PORTLETS_CACHE_REGION, PORTLETS_CACHE_NAME)