--- a/src/pyams_content/component/paragraph/zmi/video.py Fri Mar 02 17:54:01 2018 +0100
+++ b/src/pyams_content/component/paragraph/zmi/video.py Sun Mar 04 16:36:30 2018 +0100
@@ -23,7 +23,6 @@
from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor, IParagraphContainerView
from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
from pyams_form.interfaces.form import IInnerForm, IEditFormButtons
-from pyams_i18n.interfaces import II18n
from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
from pyams_skin.layer import IPyAMSLayer
from pyams_zmi.interfaces import IPropertiesEditForm
@@ -35,9 +34,10 @@
from pyams_content.component.paragraph.video import VideoParagraph
from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
+from pyams_content.features.renderer.zmi import BaseRenderedContentPreview
+from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
from pyams_form.group import NamedWidgetsGroup
from pyams_pagelet.pagelet import pagelet_config
-from pyams_template.template import template_config
from pyams_utils.adapter import adapter_config
from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
from pyams_zmi.form import AdminDialogAddForm
@@ -85,7 +85,7 @@
switch=True,
hide_if_empty=True))
self.add_group(NamedWidgetsGroup(self, 'data_group', self.widgets,
- ('description', 'author', 'data'),
+ ('description', 'author', 'data', 'renderer'),
bordered=False))
def create(self, data):
@@ -111,6 +111,8 @@
icon_css_class = 'fa fa-fw fa-film'
fields = field.Fields(IVideoParagraph).omit('__parent__', '__name__', 'visible')
+ fields['renderer'].widgetFactory = RendererFieldWidget
+
ajax_handler = 'properties.json'
edit_permission = MANAGE_CONTENT_PERMISSION
@@ -128,7 +130,7 @@
switch=True,
hide_if_empty=True))
self.add_group(NamedWidgetsGroup(self, 'data_group', self.widgets,
- ('description', 'author', 'data'),
+ ('description', 'author', 'data', 'renderer'),
bordered=False))
@@ -183,18 +185,21 @@
'object_name': associations_table.id,
'table': associations_table.render()}
})
- if 'data' in updated:
- # we have to commit transaction to be able to handle blobs...
- ITransactionManager(self.context).get().commit()
+ if ('data' in updated) or ('renderer' in updated):
+ if 'data' in updated:
+ # we have to commit transaction to be able to handle blobs...
+ ITransactionManager(self.context).get().commit()
form = VideoParagraphPropertiesInnerEditForm(self.context, self.request)
form.update()
output.setdefault('events', []).append({
'event': 'myams.refresh',
- 'options': {'object_id': '{0}_{1}_{2}'.format(
- self.context.__class__.__name__,
- getattr(form.getContent(), '__name__', 'noname').replace('++', ''),
- form.id),
- 'content': form.render()}
+ 'options': {
+ 'object_id': '{0}_{1}_{2}'.format(
+ self.context.__class__.__name__,
+ getattr(form.getContent(), '__name__', 'noname').replace('++', ''),
+ form.id),
+ 'content': form.render()
+ }
})
return output
@@ -204,17 +209,5 @@
#
@adapter_config(context=(IVideoParagraph, IPyAMSLayer), provides=IParagraphPreview)
-@template_config(template='templates/video-preview.pt', layer=IPyAMSLayer)
-class VideoParagraphPreview(BaseContentProvider):
+class VideoParagraphPreview(BaseRenderedContentPreview):
"""Video paragraph preview"""
-
- language = None
-
- def update(self):
- i18n = II18n(self.context)
- if self.language:
- for attr in ('title', 'body', 'description'):
- setattr(self, attr, i18n.get_attribute(attr, self.language, request=self.request))
- else:
- for attr in ('title', 'body', 'description'):
- setattr(self, attr, i18n.query_attribute(attr, request=self.request))