18 # import interfaces |
18 # import interfaces |
19 from pyams_content.component.gallery.interfaces import IGalleryParagraph, IBaseGallery, IGalleryRenderer |
19 from pyams_content.component.gallery.interfaces import IGalleryParagraph, IBaseGallery, IGalleryRenderer |
20 from pyams_content.component.gallery.zmi.interfaces import IGalleryImagesView |
20 from pyams_content.component.gallery.zmi.interfaces import IGalleryImagesView |
21 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \ |
21 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \ |
22 IParagraphSummary |
22 IParagraphSummary |
23 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor |
23 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor, IParagraphContainerView |
24 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
24 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
25 from pyams_content.shared.common.interfaces import IWfSharedContent |
|
26 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons, IInnerSubForm |
25 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons, IInnerSubForm |
27 from pyams_i18n.interfaces import II18n |
26 from pyams_i18n.interfaces import II18n |
28 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager |
27 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager |
29 from pyams_skin.layer import IPyAMSLayer |
28 from pyams_skin.layer import IPyAMSLayer |
30 from z3c.form.interfaces import INPUT_MODE |
29 from z3c.form.interfaces import INPUT_MODE |
31 |
30 |
32 # import packages |
31 # import packages |
33 from pyams_content.component.gallery.paragraph import Gallery |
32 from pyams_content.component.gallery.paragraph import Gallery |
34 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \ |
33 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \ |
35 BaseParagraphAddMenu |
34 BaseParagraphAddMenu, BaseParagraphPropertiesEditForm |
36 from pyams_content.component.paragraph.zmi.container import ParagraphContainerView |
|
37 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin |
35 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin |
38 from pyams_pagelet.pagelet import pagelet_config |
36 from pyams_pagelet.pagelet import pagelet_config |
39 from pyams_skin.viewlet.toolbar import ToolbarAction |
37 from pyams_skin.viewlet.toolbar import ToolbarAction |
40 from pyams_template.template import template_config |
38 from pyams_template.template import template_config |
41 from pyams_utils.adapter import adapter_config |
39 from pyams_utils.adapter import adapter_config |
42 from pyams_utils.traversing import get_parent |
|
43 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider |
40 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider |
44 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm, InnerAdminDisplayForm |
41 from pyams_zmi.form import AdminDialogAddForm, InnerAdminDisplayForm |
45 from pyramid.view import view_config |
42 from pyramid.view import view_config |
46 from z3c.form import field, button |
43 from z3c.form import field, button |
47 from zope.interface import implementer, Interface |
44 from zope.interface import implementer, Interface |
48 |
45 |
49 from pyams_content import _ |
46 from pyams_content import _ |
50 |
47 |
51 |
48 |
52 @viewlet_config(name='add-gallery.menu', context=IParagraphContainerTarget, view=ParagraphContainerView, |
49 @viewlet_config(name='add-gallery.menu', context=IParagraphContainerTarget, view=IParagraphContainerView, |
53 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=65) |
50 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=65) |
54 class GalleryAddMenu(BaseParagraphAddMenu): |
51 class GalleryAddMenu(BaseParagraphAddMenu): |
55 """Gallery add menu""" |
52 """Gallery add menu""" |
56 |
53 |
57 label = _("Add images gallery...") |
54 label = _("Add images gallery...") |
90 """Gallery paragraph add form, JSON renderer""" |
87 """Gallery paragraph add form, JSON renderer""" |
91 |
88 |
92 |
89 |
93 @pagelet_config(name='properties.html', context=IGalleryParagraph, layer=IPyAMSLayer, |
90 @pagelet_config(name='properties.html', context=IGalleryParagraph, layer=IPyAMSLayer, |
94 permission=MANAGE_CONTENT_PERMISSION) |
91 permission=MANAGE_CONTENT_PERMISSION) |
95 class GalleryPropertiesEditForm(AdminDialogEditForm): |
92 class GalleryPropertiesEditForm(BaseParagraphPropertiesEditForm): |
96 """Gallery properties edit form""" |
93 """Gallery properties edit form""" |
97 |
|
98 @property |
|
99 def title(self): |
|
100 content = get_parent(self.context, IWfSharedContent) |
|
101 return II18n(content).query_attribute('title', request=self.request) |
|
102 |
94 |
103 legend = _("Edit gallery properties") |
95 legend = _("Edit gallery properties") |
104 icon_css_class = 'fa fa-fw fa-picture-o' |
96 icon_css_class = 'fa fa-fw fa-picture-o' |
105 |
97 |
106 fields = field.Fields(IGalleryParagraph).omit('__parent__', '__name__', 'visible') |
98 fields = field.Fields(IGalleryParagraph).omit('__parent__', '__name__', 'visible') |