--- a/src/pyams_content/component/paragraph/zmi/preview.py Thu Feb 22 10:15:00 2018 +0100
+++ b/src/pyams_content/component/paragraph/zmi/preview.py Thu Feb 22 12:00:05 2018 +0100
@@ -17,16 +17,20 @@
# import interfaces
from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \
- IParagraphSummary
+ IParagraphPreview
from pyams_content.features.preview.zmi.interfaces import IPreviewForm
from pyams_form.interfaces.form import IWidgetsSuffixViewletsManager
from pyams_i18n.interfaces import II18nManager
+from pyams_skin.interfaces import IUserSkinnable
from pyams_skin.layer import IPyAMSLayer
+from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
# import packages
+from pyams_skin.skin import apply_skin
from pyams_template.template import template_config
-from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
+from pyams_utils.request import copy_request
from pyams_viewlet.viewlet import viewlet_config, Viewlet
+from pyramid.decorator import reify
@viewlet_config(name='paragraphs-preview', context=IParagraphContainerTarget, layer=IPyAMSLayer,
@@ -42,8 +46,17 @@
if para.visible]
self.languages = II18nManager(self.context).get_languages()
+ @reify
+ def render_request(self):
+ request = copy_request(self.request)
+ root = self.request.root
+ skin = IUserSkinnable(root).get_skin()
+ if skin is not None:
+ apply_skin(request, skin)
+ return request
+
def render_paragraph(self, paragraph, language=None):
- renderer = self.request.registry.queryMultiAdapter((paragraph, self.request), IParagraphSummary)
+ renderer = self.request.registry.queryMultiAdapter((paragraph, self.render_request), IParagraphPreview)
if renderer is not None:
renderer.language = language
renderer.update()