src/pyams_content/component/gallery/zmi/__init__.py
changeset 362 8fc21a7ef206
parent 315 8654d1faa27d
child 363 86d1a240d4dc
--- a/src/pyams_content/component/gallery/zmi/__init__.py	Wed Feb 07 09:20:50 2018 +0100
+++ b/src/pyams_content/component/gallery/zmi/__init__.py	Wed Feb 07 09:22:03 2018 +0100
@@ -9,7 +9,6 @@
 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
 # FOR A PARTICULAR PURPOSE.
 #
-from pyams_file.interfaces import IFileInfo
 
 __docformat__ = 'restructuredtext'
 
@@ -17,16 +16,19 @@
 # import standard library
 import json
 import zipfile
+
 from io import BytesIO
 
 # import interfaces
-from pyams_content.component.gallery.interfaces import IGallery, IGalleryRenderer, IGalleryFile
+from pyams_content.component.gallery.interfaces import IGallery, IGalleryRenderer
 from pyams_content.component.gallery.zmi.interfaces import IGalleryImageAddFields, IGalleryImagesView
 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
+from pyams_file.interfaces import IFileInfo
 from pyams_form.interfaces.form import IWidgetsPrefixViewletsManager
 from pyams_i18n.interfaces import II18n
 from pyams_skin.layer import IPyAMSLayer
 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
+from pyramid.interfaces import IView
 
 # import packages
 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin
@@ -34,6 +36,7 @@
 from pyams_pagelet.pagelet import pagelet_config
 from pyams_template.template import template_config, get_view_template
 from pyams_utils.adapter import adapter_config, ContextRequestAdapter
+from pyams_utils.url import absolute_url
 from pyams_viewlet.viewlet import viewlet_config, Viewlet
 from pyams_zmi.form import AdminDialogEditForm, AdminDialogDisplayForm
 from pyramid.exceptions import NotFound
@@ -122,6 +125,12 @@
     def get_title(self, image):
         return II18n(image).query_attribute('title', request=self.request)
 
+    def get_thumbnail_target(self, media):
+        registry = self.request.registry
+        view = registry.queryMultiAdapter((media, self.request), IView, name='preview.html')
+        if view is not None:
+            return absolute_url(media, self.request, 'preview.html')
+
 
 @view_config(name='set-images-order.json', context=IGallery, request_type=IPyAMSLayer,
              permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True)