src/pyams_content/component/gallery/zmi/paragraph.py
changeset 163 bd68fac5a89a
parent 151 890d3c1e0c71
child 192 8a16d2f507d7
equal deleted inserted replaced
162:fc3266e6a510 163:bd68fac5a89a
    14 
    14 
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_content.component.gallery.interfaces import IGalleryParagraph, IBaseGallery
    19 from pyams_content.component.gallery.interfaces import IGalleryParagraph, IBaseGallery, IGalleryRenderer
    20 from pyams_content.component.gallery.zmi.interfaces import IGalleryImagesView
    20 from pyams_content.component.gallery.zmi.interfaces import IGalleryImagesView
    21 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer
    21 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \
       
    22     IParagraphSummary
    22 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor
    23 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor
    23 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    24 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    24 from pyams_content.shared.common.interfaces import IWfSharedContent
    25 from pyams_content.shared.common.interfaces import IWfSharedContent
    25 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons, IInnerSubForm
    26 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons, IInnerSubForm
    26 from pyams_i18n.interfaces import II18n
    27 from pyams_i18n.interfaces import II18n
    37 from pyams_pagelet.pagelet import pagelet_config
    38 from pyams_pagelet.pagelet import pagelet_config
    38 from pyams_skin.viewlet.toolbar import ToolbarMenuItem, ToolbarAction
    39 from pyams_skin.viewlet.toolbar import ToolbarMenuItem, ToolbarAction
    39 from pyams_template.template import template_config
    40 from pyams_template.template import template_config
    40 from pyams_utils.adapter import adapter_config
    41 from pyams_utils.adapter import adapter_config
    41 from pyams_utils.traversing import get_parent
    42 from pyams_utils.traversing import get_parent
    42 from pyams_viewlet.viewlet import viewlet_config
    43 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    43 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm, InnerAdminDisplayForm
    44 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm, InnerAdminDisplayForm
    44 from pyramid.view import view_config
    45 from pyramid.view import view_config
    45 from z3c.form import field, button
    46 from z3c.form import field, button
    46 from zope.interface import implementer, Interface
    47 from zope.interface import implementer, Interface
    47 
    48 
   176 
   177 
   177 
   178 
   178 #
   179 #
   179 # Gallery paragraph summary
   180 # Gallery paragraph summary
   180 #
   181 #
       
   182 
       
   183 @adapter_config(context=(IGalleryParagraph, IPyAMSLayer), provides=IParagraphSummary)
       
   184 class GalleryParagraphSummary(BaseContentProvider):
       
   185     """Gallery summary"""
       
   186 
       
   187     def __init__(self, context, request):
       
   188         super(GalleryParagraphSummary, self).__init__(context, request)
       
   189         self.renderer = request.registry.queryMultiAdapter((context, request), IGalleryRenderer,
       
   190                                                            name=self.context.renderer)
       
   191 
       
   192     language = None
       
   193 
       
   194     def update(self):
       
   195         if self.renderer is not None:
       
   196             self.renderer.language = self.language
       
   197             self.renderer.update()
       
   198 
       
   199     def render(self):
       
   200         if self.renderer is not None:
       
   201             return self.renderer.render()
       
   202         else:
       
   203             return ''