src/pyams_default_theme/component/association/viewlet.py
changeset 382 f0c399c2d649
parent 184 6815147a533f
equal deleted inserted replaced
381:1ab0b78f0480 382:f0c399c2d649
    12 
    12 
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
    15 from zope.interface import Interface
    15 from zope.interface import Interface
    16 
    16 
    17 from pyams_skin.layer import IPyAMSUserLayer
       
    18 from pyams_content.component.association.interfaces import IAssociationContainer, IAssociationInfo
    17 from pyams_content.component.association.interfaces import IAssociationContainer, IAssociationInfo
    19 from pyams_content.component.extfile.interfaces import IExtFile, IExtFileManagerInfo
    18 from pyams_content.component.extfile.interfaces import IExtFile, IExtFileManagerInfo
    20 from pyams_content.component.links.interfaces import IBaseLink
    19 from pyams_content.component.links.interfaces import IBaseLink
    21 from pyams_i18n.interfaces import II18n
    20 from pyams_i18n.interfaces import II18n
       
    21 from pyams_skin.layer import IPyAMSUserLayer
    22 from pyams_template.template import template_config
    22 from pyams_template.template import template_config
    23 from pyams_viewlet.viewlet import ViewContentProvider, contentprovider_config
    23 from pyams_viewlet.viewlet import ViewContentProvider, contentprovider_config
    24 
    24 
    25 
    25 
    26 @contentprovider_config(name='pyams.associations', layer=IPyAMSUserLayer, view=Interface)
    26 @contentprovider_config(name='pyams.associations', layer=IPyAMSUserLayer, view=Interface)
    27 @template_config(template='templates/association-viewlet.pt', layer=IPyAMSUserLayer)
    27 @template_config(template='templates/association-viewlet.pt', layer=IPyAMSUserLayer)
    28 class AssociationContentProvider(ViewContentProvider):
    28 class AssociationContentProvider(ViewContentProvider):
    29     """Association default content provider"""
    29     """Association default content provider"""
       
    30 
       
    31     description_format = 'text'
    30 
    32 
    31     links = None
    33     links = None
    32     attachments = None
    34     attachments = None
    33 
    35 
    34     def __init__(self, *args, **kwargs):
    36     def __init__(self, *args, **kwargs):
    41 
    43 
    42     @staticmethod
    44     @staticmethod
    43     def get_link_info(link):
    45     def get_link_info(link):
    44         return IAssociationInfo(link)
    46         return IAssociationInfo(link)
    45 
    47 
    46     def update(self):
    48     def update(self, settings=None):
    47         super().update()
    49         super().update()
       
    50         if settings is not None:
       
    51             self.description_format = settings.description_format
    48         for item in self.get_associations():
    52         for item in self.get_associations():
    49             if IExtFile.providedBy(item):
    53             if IExtFile.providedBy(item):
    50                 self.attachments.append(item)
    54                 self.attachments.append(item)
    51             elif IBaseLink.providedBy(item):
    55             elif IBaseLink.providedBy(item):
    52                 self.links.append(item)
    56                 self.links.append(item)