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) |