src/pyams_content/component/gallery/zmi/paragraph.py
changeset 362 8fc21a7ef206
parent 283 9139536eab90
child 363 86d1a240d4dc
equal deleted inserted replaced
361:68f6464a97ea 362:8fc21a7ef206
    12 
    12 
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
    15 
    15 
    16 # import standard library
    16 # import standard library
       
    17 
       
    18 from datetime import datetime
    17 
    19 
    18 # import interfaces
    20 # import interfaces
    19 from pyams_content.component.gallery.interfaces import IGalleryParagraph, IBaseGallery, IGalleryRenderer
    21 from pyams_content.component.gallery.interfaces import IGalleryParagraph, IBaseGallery, IGalleryRenderer
    20 from pyams_content.component.gallery.zmi.interfaces import IGalleryImagesView
    22 from pyams_content.component.gallery.zmi.interfaces import IGalleryImagesView
    21 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \
    23 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \
    24 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    26 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    25 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons, IInnerSubForm
    27 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons, IInnerSubForm
    26 from pyams_i18n.interfaces import II18n
    28 from pyams_i18n.interfaces import II18n
    27 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager
    29 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager
    28 from pyams_skin.layer import IPyAMSLayer
    30 from pyams_skin.layer import IPyAMSLayer
       
    31 from pyramid.interfaces import IView
    29 from z3c.form.interfaces import INPUT_MODE
    32 from z3c.form.interfaces import INPUT_MODE
    30 
    33 
    31 # import packages
    34 # import packages
    32 from pyams_content.component.gallery.paragraph import Gallery
    35 from pyams_content.component.gallery.paragraph import Gallery
    33 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    36 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    35 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin
    38 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin
    36 from pyams_pagelet.pagelet import pagelet_config
    39 from pyams_pagelet.pagelet import pagelet_config
    37 from pyams_skin.viewlet.toolbar import ToolbarAction
    40 from pyams_skin.viewlet.toolbar import ToolbarAction
    38 from pyams_template.template import template_config
    41 from pyams_template.template import template_config
    39 from pyams_utils.adapter import adapter_config
    42 from pyams_utils.adapter import adapter_config
       
    43 from pyams_utils.url import absolute_url
    40 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    44 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    41 from pyams_zmi.form import AdminDialogAddForm, InnerAdminDisplayForm
    45 from pyams_zmi.form import AdminDialogAddForm, InnerAdminDisplayForm
    42 from pyramid.view import view_config
    46 from pyramid.view import view_config
    43 from z3c.form import field, button
    47 from z3c.form import field, button
    44 from zope.interface import implementer, Interface
    48 from zope.interface import implementer, Interface
   157     weight = 10
   161     weight = 10
   158 
   162 
   159     def get_title(self, image):
   163     def get_title(self, image):
   160         return II18n(image).query_attribute('title', request=self.request)
   164         return II18n(image).query_attribute('title', request=self.request)
   161 
   165 
       
   166     def get_thumbnail_target(self, media):
       
   167         registry = self.request.registry
       
   168         view = registry.queryMultiAdapter((media, self.request), IView, name='preview.html')
       
   169         if view is not None:
       
   170             return absolute_url(media, self.request, 'preview.html')
       
   171 
   162 
   172 
   163 @viewlet_config(name='add-image.menu', context=IGalleryParagraph, view=GalleryContentsView,
   173 @viewlet_config(name='add-image.menu', context=IGalleryParagraph, view=GalleryContentsView,
   164                 manager=IWidgetTitleViewletManager)
   174                 manager=IWidgetTitleViewletManager)
   165 class GalleryImageAddMenu(WfSharedContentPermissionMixin, ToolbarAction):
   175 class GalleryImageAddMenu(WfSharedContentPermissionMixin, ToolbarAction):
   166     """Gallery image add menu"""
   176     """Gallery image add menu"""