--- a/src/pyams_default_theme/component/association/__init__.py Fri Jan 18 15:29:24 2019 +0100
+++ b/src/pyams_default_theme/component/association/__init__.py Fri Jan 18 15:30:29 2019 +0100
@@ -25,8 +25,8 @@
from pyams_content.component.paragraph.interfaces import IParagraphContainer, IParagraphContainerTarget
from pyams_content.features.renderer.interfaces import IContentRenderer
from pyams_default_theme import _
-from pyams_default_theme.component.association.interfaces import IAssociationParagraphRemoteContentRendererSettings, \
- IAssociationParagraphSlicedRemoteContentRendererSettings
+from pyams_default_theme.component.association.interfaces import IAssociationParagraphDefaultRendererSettings, \
+ IAssociationParagraphRemoteContentRendererSettings, IAssociationParagraphSlicedRemoteContentRendererSettings
from pyams_default_theme.features.renderer import BaseContentRenderer
from pyams_skin.layer import IPyAMSLayer
from pyams_template.template import template_config
@@ -38,6 +38,23 @@
# Associations paragraph default renderer
#
+ASSOCIATION_PARAGRAPH_DEFAULT_RENDERER_SETTINGS_KEY = 'pyams_content.association.renderer:default'
+
+
+@factory_config(IAssociationParagraphDefaultRendererSettings)
+class AssociationParagraphDefaultRendererSettings(Persistent, Location):
+ """Association paragraph default renderer settings"""
+
+ description_format = FieldProperty(IAssociationParagraphDefaultRendererSettings['description_format'])
+
+
+@adapter_config(context=IAssociationParagraph, provides=IAssociationParagraphDefaultRendererSettings)
+def association_paragraph_default_renderer_settings_factory(context):
+ """Associations paragraph default renderer settings factory"""
+ return get_annotation_adapter(context, ASSOCIATION_PARAGRAPH_DEFAULT_RENDERER_SETTINGS_KEY,
+ IAssociationParagraphDefaultRendererSettings)
+
+
@adapter_config(name='default', context=(IAssociationParagraph, IPyAMSLayer), provides=IContentRenderer)
@template_config(template='templates/association-default.pt', layer=IPyAMSLayer)
class AssociationParagraphDefaultRenderer(BaseContentRenderer):
@@ -46,8 +63,12 @@
label = _("Default associations renderer")
i18n_context_attrs = ('title',)
- links = None
- attachments = None
+ settings_interface = IAssociationParagraphDefaultRendererSettings
+
+ def __init__(self, *args, **kwargs):
+ super(AssociationParagraphDefaultRenderer, self).__init__(*args, **kwargs)
+ self.attachments = []
+ self.links = []
def get_associations(self):
yield from IAssociationContainer(self.context).get_visible_items(self.request)
@@ -58,8 +79,6 @@
def update(self):
super().update()
- self.attachments = []
- self.links = []
for item in self.get_associations():
if IExtFile.providedBy(item):
self.attachments.append(item)
@@ -71,8 +90,10 @@
# Associations paragraph remote content renderer
#
-ASSOCIATION_PARAGRAPH_SLICED_REMOTE_CONTENT_RENDERER_SETTINGS_KEY = 'pyams_content.association.renderer:sliced-remote-content'
-ASSOCIATION_PARAGRAPH_REMOTE_CONTENT_RENDERER_SETTINGS_KEY = 'pyams_content.association.renderer:remote-content'
+ASSOCIATION_PARAGRAPH_SLICED_REMOTE_CONTENT_RENDERER_SETTINGS_KEY = \
+ 'pyams_content.association.renderer:sliced-remote-content'
+ASSOCIATION_PARAGRAPH_REMOTE_CONTENT_RENDERER_SETTINGS_KEY = \
+ 'pyams_content.association.renderer:remote-content'
@factory_config(IAssociationParagraphSlicedRemoteContentRendererSettings)