10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
15 |
15 from pyramid.renderers import render |
16 # import standard library |
16 from z3c.form import field |
17 |
17 from z3c.form.interfaces import NOT_CHANGED |
18 # import interfaces |
18 from zope.lifecycleevent import ObjectCreatedEvent |
19 from pyams_content.component.gallery.interfaces import IGallery, IGalleryFile, IGalleryParagraph, \ |
19 from zope.location import locate |
20 GALLERY_FILE_HIDDEN_FIELDS |
20 from zope.schema.interfaces import WrongType |
21 from pyams_content.component.gallery.zmi.interfaces import IGalleryMediasAddFields, IGalleryContentsView |
21 |
|
22 from pyams_content import _ |
|
23 from pyams_content.component.gallery.file import GalleryFile |
|
24 from pyams_content.component.gallery.interfaces import GALLERY_FILE_HIDDEN_FIELDS, IGallery, IGalleryFile, \ |
|
25 IGalleryParagraph |
|
26 from pyams_content.component.gallery.zmi.interfaces import IGalleryContentsView, IGalleryMediasAddFields |
22 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
27 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
23 from pyams_file.interfaces.archive import IArchiveExtractor |
|
24 from pyams_form.interfaces.form import IFormContextPermissionChecker |
|
25 from pyams_i18n.interfaces import II18n |
|
26 from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager, IContextActions |
|
27 from pyams_skin.layer import IPyAMSLayer |
|
28 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION, FORBIDDEN_PERMISSION |
|
29 from z3c.form.interfaces import NOT_CHANGED |
|
30 from zope.schema.interfaces import WrongType |
|
31 |
|
32 # import packages |
|
33 from pyams_content.component.gallery.file import GalleryFile |
|
34 from pyams_content.shared.common import IWfSharedContent |
28 from pyams_content.shared.common import IWfSharedContent |
35 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin |
29 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin |
36 from pyams_file.file import get_magic_content_type |
30 from pyams_file.file import get_magic_content_type |
|
31 from pyams_file.interfaces.archive import IArchiveExtractor |
37 from pyams_file.zmi.file import FilePropertiesAction |
32 from pyams_file.zmi.file import FilePropertiesAction |
38 from pyams_form.form import AJAXAddForm, ajax_config |
33 from pyams_form.form import AJAXAddForm, ajax_config |
39 from pyams_form.group import NamedWidgetsGroup |
34 from pyams_form.group import NamedWidgetsGroup |
|
35 from pyams_form.interfaces.form import IFormContextPermissionChecker |
|
36 from pyams_i18n.interfaces import II18n |
40 from pyams_pagelet.pagelet import pagelet_config |
37 from pyams_pagelet.pagelet import pagelet_config |
41 from pyams_skin.event import get_json_refresh_event |
38 from pyams_skin.event import get_json_refresh_event |
42 from pyams_skin.viewlet.toolbar import ToolbarAction, JsToolbarActionItem |
39 from pyams_skin.interfaces.viewlet import IContextActions, IWidgetTitleViewletManager |
|
40 from pyams_skin.layer import IPyAMSLayer |
|
41 from pyams_skin.viewlet.toolbar import JsToolbarActionItem, ToolbarAction |
|
42 from pyams_utils.interfaces import FORBIDDEN_PERMISSION, VIEW_SYSTEM_PERMISSION |
43 from pyams_utils.registry import query_utility |
43 from pyams_utils.registry import query_utility |
44 from pyams_utils.traversing import get_parent |
44 from pyams_utils.traversing import get_parent |
45 from pyams_utils.url import absolute_url |
45 from pyams_utils.url import absolute_url |
46 from pyams_viewlet.viewlet import viewlet_config |
46 from pyams_viewlet.viewlet import viewlet_config |
47 from pyams_zmi.form import AdminDialogEditForm, AdminDialogAddForm |
47 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
48 from pyramid.renderers import render |
|
49 from z3c.form import field |
|
50 from zope.lifecycleevent import ObjectCreatedEvent |
|
51 from zope.location import locate |
|
52 |
|
53 from pyams_content import _ |
|
54 |
48 |
55 |
49 |
56 @viewlet_config(name='add-media.menu', context=IGallery, view=IGalleryContentsView, manager=IWidgetTitleViewletManager) |
50 @viewlet_config(name='add-media.menu', context=IGallery, view=IGalleryContentsView, manager=IWidgetTitleViewletManager) |
57 class GalleryMediaAddMenu(WfSharedContentPermissionMixin, ToolbarAction): |
51 class GalleryMediaAddMenu(WfSharedContentPermissionMixin, ToolbarAction): |
58 """Gallery media add menu""" |
52 """Gallery media add menu""" |
188 |
181 |
189 @property |
182 @property |
190 def title(self): |
183 def title(self): |
191 gallery = get_parent(self.context, IGallery) |
184 gallery = get_parent(self.context, IGallery) |
192 return II18n(gallery).query_attribute('title', request=self.request) |
185 return II18n(gallery).query_attribute('title', request=self.request) |
193 |
|
194 def updateWidgets(self, prefix=None): |
|
195 super(GalleryFilePropertiesEditForm, self).updateWidgets(prefix) |
|
196 if 'pif_number' in self.widgets: |
|
197 self.widgets['pif_number'].input_css_class = 'col-md-3' |
|
198 |
186 |
199 def updateGroups(self): |
187 def updateGroups(self): |
200 self.add_group(NamedWidgetsGroup(self, 'audio_file', self.widgets, |
188 self.add_group(NamedWidgetsGroup(self, 'audio_file', self.widgets, |
201 ('sound', 'sound_title', 'sound_description'), |
189 ('sound', 'sound_title', 'sound_description'), |
202 bordered=False, |
190 bordered=False, |