--- a/src/pyams_content/features/preview/zmi/__init__.py Thu Mar 15 12:06:23 2018 +0100
+++ b/src/pyams_content/features/preview/zmi/__init__.py Fri Mar 16 08:17:54 2018 +0100
@@ -18,6 +18,7 @@
# import interfaces
from pyams_content.features.preview.interfaces import IPreviewTarget
from pyams_content.features.preview.zmi.interfaces import IPreviewForm
+from pyams_i18n.interfaces import II18nManager, INegotiator
from pyams_skin.interfaces.viewlet import IToolbarViewletManager
from pyams_skin.layer import IPyAMSLayer
from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
@@ -26,6 +27,8 @@
# import packages
from pyams_pagelet.pagelet import pagelet_config
from pyams_skin.viewlet.toolbar import ToolbarAction
+from pyams_template.template import template_config
+from pyams_utils.registry import get_utility
from pyams_viewlet.viewlet import viewlet_config
from pyams_zmi.form import AdminDialogDisplayForm
from z3c.form import field
@@ -45,16 +48,35 @@
label_css_class = 'fa fa-newspaper-o'
css_class = 'btn btn-xs btn-default'
- url = 'preview.html'
+ url = 'content-preview.html'
modal_target = True
-@pagelet_config(name='preview.html', context=IPreviewTarget, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
+@pagelet_config(name='content-preview.html', context=IPreviewTarget, layer=IPyAMSLayer,
+ permission=VIEW_SYSTEM_PERMISSION)
+@template_config(template='templates/preview.pt', layer=IPyAMSLayer)
@implementer(IPreviewForm)
class PreviewForm(AdminDialogDisplayForm):
"""Content preview form"""
legend = _("Content preview")
+
+ @property
+ def title(self):
+ translate = self.request.localizer.translate
+ return translate(_("{title} ({preview})")).format(title=super(PreviewForm, self).title,
+ preview=translate(_("preview")))
+
dialog_class = 'modal-max'
fields = field.Fields(Interface)
+ languages = None
+
+ def __init__(self, context, request):
+ super(PreviewForm, self).__init__(context, request)
+ i18n = II18nManager(context, None)
+ if i18n is not None:
+ self.languages = i18n.get_languages()
+ else:
+ negotiator = get_utility(INegotiator)
+ self.languages = (negotiator.server_language, )