src/pyams_content/shared/common/skin/__init__.py
changeset 1028 3a608029647e
parent 728 8a4cd44c9134
equal deleted inserted replaced
1027:f5244268e151 1028:3a608029647e
    10 # FOR A PARTICULAR PURPOSE.
    10 # FOR A PARTICULAR PURPOSE.
    11 #
    11 #
    12 
    12 
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
       
    15 from pyams_content.shared.common import ISharedContent, IWfSharedContent
       
    16 from pyams_content.shared.site import ISiteElementNavigation
       
    17 from pyams_content.shared.site.interfaces import IContentSummaryInfo
       
    18 from pyams_i18n.interfaces import II18n
       
    19 from pyams_skin.layer import IPyAMSUserLayer
       
    20 from pyams_utils.adapter import ContextRequestAdapter, adapter_config
       
    21 from pyams_workflow.interfaces import IWorkflowPublicationInfo
    15 
    22 
    16 # import standard library
    23 from pyams_content import _
    17 
    24 
    18 # import interfaces
       
    19 
    25 
    20 # import packages
    26 @adapter_config(context=(ISharedContent, IPyAMSUserLayer), provides=ISiteElementNavigation)
       
    27 class SharedContentNavigationAdapter(ContextRequestAdapter):
       
    28     """Shared content navigation adapter"""
       
    29 
       
    30     @property
       
    31     def visible(self):
       
    32         version = self.context.published_version
       
    33         if version is not None:
       
    34             return IWorkflowPublicationInfo(version).is_visible(self.request)
       
    35 
       
    36 
       
    37 @adapter_config(context=(ISharedContent, IPyAMSUserLayer), provides=IContentSummaryInfo)
       
    38 def shared_content_summary_adapter(context, request):
       
    39     """Shared content summary adapter"""
       
    40     version = context.published_version
       
    41     if version is not None:
       
    42         return request.registry.queryMultiAdapter((version, request), IContentSummaryInfo)
       
    43 
       
    44 
       
    45 @adapter_config(context=(IWfSharedContent, IPyAMSUserLayer), provides=IContentSummaryInfo)
       
    46 class WfSharedContentSummaryInfo(ContextRequestAdapter):
       
    47     """Shared content summary info adapter"""
       
    48 
       
    49     @property
       
    50     def title(self):
       
    51         return II18n(self.context).query_attribute('title', request=self.request)
       
    52 
       
    53     @property
       
    54     def header(self):
       
    55         return II18n(self.context).query_attribute('header', request=self.request)
       
    56 
       
    57     @property
       
    58     def button_title(self):
       
    59         return _("Consult content")