src/pyams_content/component/illustration/zmi/__init__.py
changeset 360 e47b68b41f06
parent 351 ce073b17b943
child 395 2a39b333a585
equal deleted inserted replaced
359:b21d74ececb1 360:e47b68b41f06
    20 from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerTable, IParagraphTitleToolbar
    20 from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerTable, IParagraphTitleToolbar
    21 from pyams_form.interfaces.form import IInnerSubForm, IWidgetsPrefixViewletsManager
    21 from pyams_form.interfaces.form import IInnerSubForm, IWidgetsPrefixViewletsManager
    22 from pyams_i18n.interfaces import II18n
    22 from pyams_i18n.interfaces import II18n
    23 from pyams_skin.layer import IPyAMSLayer
    23 from pyams_skin.layer import IPyAMSLayer
    24 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    24 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
       
    25 from pyams_utils.interfaces.data import IObjectData
    25 from pyams_zmi.interfaces import IPropertiesEditForm
    26 from pyams_zmi.interfaces import IPropertiesEditForm
    26 from transaction.interfaces import ITransactionManager
    27 from transaction.interfaces import ITransactionManager
    27 
    28 
    28 # import packages
    29 # import packages
       
    30 from pyams_content.skin import pyams_content
    29 from pyams_form.security import ProtectedFormObjectMixin
    31 from pyams_form.security import ProtectedFormObjectMixin
    30 from pyams_skin.viewlet.toolbar import JsToolbarAction
    32 from pyams_skin.viewlet.toolbar import JsToolbarAction
    31 from pyams_template.template import get_view_template, template_config
    33 from pyams_template.template import get_view_template, template_config
    32 from pyams_utils.adapter import ContextRequestAdapter, adapter_config
    34 from pyams_utils.adapter import ContextRequestAdapter, adapter_config
       
    35 from pyams_utils.fanstatic import get_resource_path
    33 from pyams_viewlet.viewlet import viewlet_config, Viewlet
    36 from pyams_viewlet.viewlet import viewlet_config, Viewlet
    34 from pyams_zmi.form import InnerAdminEditForm
    37 from pyams_zmi.form import InnerAdminEditForm
    35 from z3c.form import field
    38 from z3c.form import field
       
    39 from zope.interface import implementer
    36 
    40 
    37 from pyams_content import _
    41 from pyams_content import _
    38 
    42 
    39 
    43 
    40 #
    44 #
   182         return output
   186         return output
   183 
   187 
   184 
   188 
   185 @viewlet_config(name='add-illustration.action', context=IIllustrationTarget, layer=IPyAMSLayer,
   189 @viewlet_config(name='add-illustration.action', context=IIllustrationTarget, layer=IPyAMSLayer,
   186                 view=IllustrationPropertiesInnerEditForm, manager=IWidgetsPrefixViewletsManager)
   190                 view=IllustrationPropertiesInnerEditForm, manager=IWidgetsPrefixViewletsManager)
       
   191 @implementer(IObjectData)
   187 class AddIllustrationAction(ProtectedFormObjectMixin, JsToolbarAction):
   192 class AddIllustrationAction(ProtectedFormObjectMixin, JsToolbarAction):
   188     """Add illustration action"""
   193     """Add illustration action"""
   189 
   194 
   190     group_css_class = 'btn-group clearfix persistent'
   195     group_css_class = 'btn-group clearfix persistent'
   191     label = _("Add illustration")
   196     label = _("Add illustration")
   196         if illustration and illustration.data:
   201         if illustration and illustration.data:
   197             for value in illustration.data.values():
   202             for value in illustration.data.values():
   198                 if value:
   203                 if value:
   199                     return None
   204                     return None
   200         return JsToolbarAction.__new__(cls)
   205         return JsToolbarAction.__new__(cls)
       
   206 
       
   207     @property
       
   208     def object_data(self):
       
   209         return {
       
   210             'ams-plugins': 'pyams_content',
       
   211             'ams-plugin-pyams_content-src': get_resource_path(pyams_content)
       
   212         }
   201 
   213 
   202 
   214 
   203 @viewlet_config(name='illustration-thumbnail', context=IIllustrationTarget, layer=IPyAMSLayer,
   215 @viewlet_config(name='illustration-thumbnail', context=IIllustrationTarget, layer=IPyAMSLayer,
   204                 view=IllustrationPropertiesInnerEditForm, manager=IWidgetsPrefixViewletsManager)
   216                 view=IllustrationPropertiesInnerEditForm, manager=IWidgetsPrefixViewletsManager)
   205 @template_config(template='templates/illustration-thumbnail.pt', layer=IPyAMSLayer)
   217 @template_config(template='templates/illustration-thumbnail.pt', layer=IPyAMSLayer)