src/pyams_content/component/illustration/zmi/__init__.py
changeset 535 d01efcb4d332
parent 527 5dd1aa8bedd9
child 682 d093aba47072
--- 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