--- a/src/pyams_content/component/gallery/__init__.py Wed Feb 07 09:22:03 2018 +0100
+++ b/src/pyams_content/component/gallery/__init__.py Wed Feb 07 11:21:14 2018 +0100
@@ -18,6 +18,7 @@
# import interfaces
from pyams_content.component.gallery.interfaces import IGallery, IGalleryTarget, \
GALLERY_CONTAINER_KEY, IGalleryRenderer
+from pyams_content.component.paragraph import IBaseParagraph
from pyams_content.features.checker.interfaces import IContentChecker
from pyams_content.shared.common.interfaces import IWfSharedContent
from pyams_form.interfaces.form import IFormContextPermissionChecker
@@ -71,8 +72,8 @@
# make sure that gallery item is correctly indexed
index_object(value)
- def get_visible_images(self):
- return [image for image in self.values() if image.visible]
+ def get_visible_medias(self):
+ return [media for media in self.values() if media.visible]
@adapter_config(context=IGalleryTarget, provides=IGallery)
@@ -116,7 +117,12 @@
@subscriber(IObjectAddedEvent, context_selector=IGallery)
def handle_added_gallery(event):
"""Handle added gallery"""
- content = get_parent(event.object, IWfSharedContent)
+ gallery = event.object
+ if IBaseParagraph.providedBy(gallery):
+ # there is another event subscriber for paragraphs,
+ # so don't trigger event twice !
+ return
+ content = get_parent(gallery, IWfSharedContent)
if content is not None:
get_current_registry().notify(ObjectModifiedEvent(content))
@@ -124,7 +130,12 @@
@subscriber(IObjectModifiedEvent, context_selector=IGallery)
def handle_modified_gallery(event):
"""Handle modified gallery"""
- content = get_parent(event.object, IWfSharedContent)
+ gallery = event.object
+ if IBaseParagraph.providedBy(gallery):
+ # there is another event subscriber for paragraphs,
+ # so don't trigger event twice !
+ return
+ content = get_parent(gallery, IWfSharedContent)
if content is not None:
get_current_registry().notify(ObjectModifiedEvent(content))
@@ -132,7 +143,12 @@
@subscriber(IObjectRemovedEvent, context_selector=IGallery)
def handle_removed_gallery(event):
"""Handle removed gallery"""
- content = get_parent(event.object, IWfSharedContent)
+ gallery = event.object
+ if IBaseParagraph.providedBy(gallery):
+ # there is another event subscriber for paragraphs,
+ # so don't trigger event twice !
+ return
+ content = get_parent(gallery, IWfSharedContent)
if content is not None:
get_current_registry().notify(ObjectModifiedEvent(content))
@@ -148,13 +164,13 @@
def inner_check(self, request):
output = []
registry = request.registry
- for image in IGallery(self.context).values():
- if not image.visible:
+ for media in IGallery(self.context).values():
+ if not media.visible:
continue
- for name, checker in sorted(registry.getAdapters((image, ), IContentChecker),
+ for name, checker in sorted(registry.getAdapters((media, ), IContentChecker),
key=lambda x: x[1].weight):
output.append('- {0} : '.format(checker.label or
- II18n(image).query_attribute('title', request=request)))
+ II18n(media).query_attribute('title', request=request)))
output.append(checker.get_check_output(request))
return output