--- a/src/pyams_content/component/illustration/zmi/__init__.py Fri Apr 13 12:23:58 2018 +0200
+++ b/src/pyams_content/component/illustration/zmi/__init__.py Fri Apr 13 14:33:15 2018 +0200
@@ -22,24 +22,18 @@
from pyams_form.interfaces.form import IInnerSubForm, IWidgetsPrefixViewletsManager
from pyams_skin.layer import IPyAMSLayer
from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
-from pyams_utils.interfaces.data import IObjectData
from pyams_zmi.interfaces import IPropertiesEditForm
from transaction.interfaces import ITransactionManager
# import packages
from pyams_content.component.paragraph.zmi import get_json_paragraph_markers_refresh_event
from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
-from pyams_content.skin import pyams_content
-from pyams_form.security import ProtectedFormObjectMixin
from pyams_skin.event import get_json_form_refresh_event, get_json_widget_refresh_event
-from pyams_skin.viewlet.toolbar import JsToolbarAction
from pyams_template.template import template_config
from pyams_utils.adapter import adapter_config
-from pyams_utils.fanstatic import get_resource_path
from pyams_viewlet.viewlet import viewlet_config, Viewlet, EmptyViewlet
from pyams_zmi.form import InnerAdminEditForm
from z3c.form import field
-from zope.interface import implementer
from pyams_content import _
@@ -56,7 +50,7 @@
weight = 5
action_class = 'action illustration nowrap width-40'
- icon_class = 'fa fa-fw fa-file-image-o'
+ icon_class = 'fa fa-fw fa-picture-o'
icon_hint = _("Illustration")
marker_type = 'illustration'
@@ -81,8 +75,19 @@
padding_class = ''
fieldset_class = 'margin-top-10 padding-y-5'
- legend = _("Illustration")
- legend_class = 'illustration switcher no-y-padding padding-right-10 pull-left width-auto'
+ @property
+ def legend(self):
+ if IBaseParagraph.providedBy(self.context):
+ return _("Illustration")
+ else:
+ return _("Header illustration")
+
+ @property
+ def legend_class(self):
+ if IBaseParagraph.providedBy(self.context):
+ return 'illustration switcher no-y-padding padding-right-10 pull-left width-auto'
+ else:
+ return 'illustration no-y-padding'
fields = field.Fields(IIllustration).omit('__parent__', '__name__')
fields['renderer'].widgetFactory = RendererFieldWidget
@@ -125,39 +130,15 @@
return output
-@viewlet_config(name='add-illustration.action', context=IIllustrationTarget, layer=IPyAMSLayer,
- view=IllustrationPropertiesInnerEditForm, manager=IWidgetsPrefixViewletsManager)
-@implementer(IObjectData)
-class AddIllustrationAction(ProtectedFormObjectMixin, JsToolbarAction):
- """Add illustration action"""
-
- group_css_class = 'btn-group clearfix persistent'
- label = _("Add illustration")
- url = 'PyAMS_content.illustration.addIllustration'
-
- def __new__(cls, context, request, view, manager):
- illustration = IIllustration(context, None)
- if illustration and illustration.data:
- for value in illustration.data.values():
- if value:
- return None
- return JsToolbarAction.__new__(cls)
-
- @property
- def object_data(self):
- return {
- 'ams-plugins': 'pyams_content',
- 'ams-plugin-pyams_content-src': get_resource_path(pyams_content)
- }
-
-
@viewlet_config(name='illustration-thumbnail', context=IIllustrationTarget, layer=IPyAMSLayer,
view=IllustrationPropertiesInnerEditForm, manager=IWidgetsPrefixViewletsManager)
@template_config(template='templates/illustration-thumbnail.pt', layer=IPyAMSLayer)
class IllustrationThumbnail(Viewlet):
- """Illustration thumbnail"""
+ """Paragraph illustration thumbnail"""
def __new__(cls, context, request, view, manager):
+ if not IBaseParagraph.providedBy(context):
+ return None
illustration = IIllustration(context, None)
if (not illustration) or not illustration.data:
return None