16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_content.component.gallery.interfaces import IGalleryFileInfo, GALLERY_FILE_INFO_KEY, IGallery, IGalleryFile |
19 from pyams_content.component.gallery.interfaces import IGalleryFileInfo, GALLERY_FILE_INFO_KEY, IGallery, IGalleryFile |
20 from pyams_content.shared.common.interfaces import IWfSharedContent |
20 from pyams_content.shared.common.interfaces import IWfSharedContent |
21 from pyams_file.interfaces import IMediaFile |
|
22 from pyams_form.interfaces.form import IFormContextPermissionChecker |
21 from pyams_form.interfaces.form import IFormContextPermissionChecker |
23 from pyams_i18n.interfaces import II18n |
22 from pyams_i18n.interfaces import II18n |
24 from zope.annotation.interfaces import IAnnotations |
23 from zope.annotation.interfaces import IAnnotations |
25 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent |
24 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent |
26 from zope.traversing.interfaces import ITraversable |
25 from zope.traversing.interfaces import ITraversable |
100 def edit_permission(self): |
99 def edit_permission(self): |
101 content = get_parent(self.context, IWfSharedContent) |
100 content = get_parent(self.context, IWfSharedContent) |
102 return IFormContextPermissionChecker(content).edit_permission |
101 return IFormContextPermissionChecker(content).edit_permission |
103 |
102 |
104 |
103 |
105 @subscriber(IObjectAddedEvent, context_selector=IMediaFile) |
|
106 def handle_added_media(event): |
|
107 """Handle added media file""" |
|
108 content = get_parent(event.object, IWfSharedContent) |
|
109 if content is not None: |
|
110 get_current_registry().notify(ObjectModifiedEvent(content)) |
|
111 |
|
112 |
|
113 @subscriber(IObjectModifiedEvent, context_selector=IMediaFile) |
|
114 def handle_modified_media(event): |
|
115 """Handle modified media file""" |
|
116 content = get_parent(event.object, IWfSharedContent) |
|
117 if content is not None: |
|
118 get_current_registry().notify(ObjectModifiedEvent(content)) |
|
119 |
|
120 |
|
121 @subscriber(IObjectRemovedEvent, context_selector=IMediaFile) |
|
122 def handle_removed_media(event): |
|
123 """Handle removed media file""" |
|
124 content = get_parent(event.object, IWfSharedContent) |
|
125 if content is not None: |
|
126 get_current_registry().notify(ObjectModifiedEvent(content)) |
|
127 |
|
128 |
|
129 # |
104 # |
130 # Gallery |
105 # Gallery |
131 # |
106 # |
132 |
107 |
133 @implementer(IGallery) |
108 @implementer(IGallery) |