src/pyams_skin/page.py
changeset 69 a361355b55c7
parent 13 d5349e690474
child 94 229b0844c578
equal deleted inserted replaced
68:fd8fb93e1b6a 69:a361355b55c7
    14 
    14 
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_skin.interfaces import IInnerPage, IModalPage, IPageHeader
    19 from pyams_skin.interfaces import IInnerPage, IModalPage, IPageHeader, IContentTitle
    20 from pyams_skin.layer import IPyAMSLayer
    20 from pyams_skin.layer import IPyAMSLayer
    21 
    21 
    22 # import packages
    22 # import packages
    23 from pyams_pagelet.pagelet import pagelet_config
    23 from pyams_pagelet.pagelet import pagelet_config
    24 from pyams_template.template import template_config
    24 from pyams_template.template import template_config
       
    25 from pyams_utils.adapter import ContextRequestViewAdapter
    25 from pyams_viewlet.viewlet import contentprovider_config
    26 from pyams_viewlet.viewlet import contentprovider_config
    26 from zope.interface import implementer, Interface
    27 from zope.interface import implementer, Interface
    27 
    28 
    28 
    29 
    29 @pagelet_config(name='', layer=IPyAMSLayer, permission='view')
    30 @pagelet_config(name='', layer=IPyAMSLayer, permission='view')
    50     header = None
    51     header = None
    51 
    52 
    52     def update(self):
    53     def update(self):
    53         registry = self.request.registry
    54         registry = self.request.registry
    54         self.header = registry.queryMultiAdapter((self.context, self.request, self.view), IPageHeader)
    55         self.header = registry.queryMultiAdapter((self.context, self.request, self.view), IPageHeader)
       
    56 
       
    57 
       
    58 class DefaultPageHeaderAdapter(ContextRequestViewAdapter):
       
    59     """Default page header adapter"""
       
    60 
       
    61     back_url = None
       
    62     back_target = None
       
    63 
       
    64     icon_class = 'fa fa-fw'
       
    65 
       
    66     @property
       
    67     def title(self):
       
    68         adapter = self.request.registry.queryMultiAdapter((self.context, self.request, self.view), IContentTitle)
       
    69         if adapter is None:
       
    70             adapter = IContentTitle(self.context, None)
       
    71         if adapter is not None:
       
    72             return adapter.title
       
    73 
       
    74     title_badge = None
       
    75     title_badge_class = 'badge inbox-badge bg-color-red'
       
    76 
       
    77     subtitle = None
       
    78     subtitle_badge = None
       
    79     subtitle_badge_class = 'badge inbox-badge bg-color-red'