src/pyams_content/component/illustration/zmi/paragraph.py
changeset 395 2a39b333a585
parent 368 7cc109b71105
child 406 5527bc086216
equal deleted inserted replaced
394:1ebcb03e9bff 395:2a39b333a585
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, \
    19 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, \
    20     IParagraphContainer, IParagraphSummary
    20     IParagraphContainer, IParagraphSummary
    21 from pyams_content.component.illustration.interfaces import IIllustrationRenderer, IIllustration, IIllustrationParagraph
    21 from pyams_content.component.illustration.interfaces import IIllustration, IIllustrationParagraph
    22 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor, IParagraphContainerView
    22 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor, IParagraphContainerView
    23 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    23 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    24 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons
    24 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons
    25 from pyams_i18n.interfaces import II18n
    25 from pyams_i18n.interfaces import II18n
    26 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
    26 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
    30 
    30 
    31 # import packages
    31 # import packages
    32 from pyams_content.component.illustration.paragraph import Illustration
    32 from pyams_content.component.illustration.paragraph import Illustration
    33 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    33 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    34     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
    34     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
       
    35 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
    35 from pyams_pagelet.pagelet import pagelet_config
    36 from pyams_pagelet.pagelet import pagelet_config
    36 from pyams_utils.adapter import adapter_config
    37 from pyams_utils.adapter import adapter_config
    37 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    38 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    38 from pyams_zmi.form import AdminDialogAddForm
    39 from pyams_zmi.form import AdminDialogAddForm
    39 from pyramid.view import view_config
    40 from pyramid.view import view_config
    97     legend = _("Edit illustration properties")
    98     legend = _("Edit illustration properties")
    98     dialog_class = 'modal-large'
    99     dialog_class = 'modal-large'
    99     icon_css_class = 'fa fa-fw fa-file-image-o'
   100     icon_css_class = 'fa fa-fw fa-file-image-o'
   100 
   101 
   101     fields = field.Fields(IIllustrationParagraph).omit('__parent__', '__name__', 'visible')
   102     fields = field.Fields(IIllustrationParagraph).omit('__parent__', '__name__', 'visible')
       
   103     fields['renderer'].widgetFactory = RendererFieldWidget
       
   104 
   102     ajax_handler = 'properties.json'
   105     ajax_handler = 'properties.json'
   103     edit_permission = MANAGE_CONTENT_PERMISSION
   106     edit_permission = MANAGE_CONTENT_PERMISSION
   104 
   107 
   105     def updateWidgets(self, prefix=None):
   108     def updateWidgets(self, prefix=None):
   106         super(IllustrationPropertiesEditForm, self).updateWidgets(prefix)
   109         super(IllustrationPropertiesEditForm, self).updateWidgets(prefix)
   189 class IllustrationSummary(BaseContentProvider):
   192 class IllustrationSummary(BaseContentProvider):
   190     """Illustration renderer"""
   193     """Illustration renderer"""
   191 
   194 
   192     def __init__(self, context, request):
   195     def __init__(self, context, request):
   193         super(IllustrationSummary, self).__init__(context, request)
   196         super(IllustrationSummary, self).__init__(context, request)
   194         self.renderer = request.registry.queryMultiAdapter((context, request), IIllustrationRenderer,
   197         self.renderer = self.context.get_renderer()
   195                                                            name=self.context.renderer)
       
   196 
   198 
   197     language = None
   199     language = None
   198 
   200 
   199     def update(self):
   201     def update(self):
   200         if self.renderer is not None:
   202         if self.renderer is not None: