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) |