src/pyams_content/component/paragraph/zmi/video.py
changeset 527 5dd1aa8bedd9
parent 489 dcdb0ce828f8
child 544 6928ddfc1c0f
equal deleted inserted replaced
526:b15153f45957 527:5dd1aa8bedd9
    36     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
    36     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
    37 from pyams_content.features.renderer.zmi import BaseRenderedContentRenderer
    37 from pyams_content.features.renderer.zmi import BaseRenderedContentRenderer
    38 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
    38 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
    39 from pyams_form.group import NamedWidgetsGroup
    39 from pyams_form.group import NamedWidgetsGroup
    40 from pyams_pagelet.pagelet import pagelet_config
    40 from pyams_pagelet.pagelet import pagelet_config
       
    41 from pyams_skin.event import get_json_form_refresh_event, get_json_widget_refresh_event
    41 from pyams_utils.adapter import adapter_config
    42 from pyams_utils.adapter import adapter_config
    42 from pyams_viewlet.viewlet import viewlet_config
    43 from pyams_viewlet.viewlet import viewlet_config
    43 from pyams_zmi.form import AdminDialogAddForm
    44 from pyams_zmi.form import AdminDialogAddForm
    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
   103 
   104 
   104 @pagelet_config(name='properties.html', context=IVideoParagraph, layer=IPyAMSLayer,
   105 @pagelet_config(name='properties.html', context=IVideoParagraph, layer=IPyAMSLayer,
   105                 permission=MANAGE_CONTENT_PERMISSION)
   106                 permission=MANAGE_CONTENT_PERMISSION)
   106 class VideoParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
   107 class VideoParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
   107     """Video paragraph properties edit form"""
   108     """Video paragraph properties edit form"""
       
   109 
       
   110     prefix = 'video_properties.'
   108 
   111 
   109     legend = _("Edit video properties")
   112     legend = _("Edit video properties")
   110     dialog_class = 'modal-large'
   113     dialog_class = 'modal-large'
   111     icon_css_class = 'fa fa-fw fa-film'
   114     icon_css_class = 'fa fa-fw fa-film'
   112 
   115 
   186                             'table': associations_table.render()}
   189                             'table': associations_table.render()}
   187             })
   190             })
   188         if 'data' in updated:
   191         if 'data' in updated:
   189             # we have to commit transaction to be able to handle blobs...
   192             # we have to commit transaction to be able to handle blobs...
   190             ITransactionManager(self.context).get().commit()
   193             ITransactionManager(self.context).get().commit()
   191             form = VideoParagraphPropertiesInnerEditForm(self.context, self.request)
   194             output.setdefault('events', []).append(
   192             form.update()
   195                 get_json_form_refresh_event(self.context, self.request, VideoParagraphPropertiesInnerEditForm))
   193             output.setdefault('events', []).append({
       
   194                 'event': 'myams.refresh',
       
   195                 'options': {
       
   196                     'object_id': '{0}_{1}_{2}'.format(
       
   197                         self.context.__class__.__name__,
       
   198                         getattr(form.getContent(), '__name__', 'noname').replace('++', ''),
       
   199                         form.id),
       
   200                     'content': form.render()
       
   201                 }
       
   202             })
       
   203         elif 'renderer' in updated:
   196         elif 'renderer' in updated:
   204             form = VideoParagraphPropertiesInnerEditForm(self.context, self.request)
   197             output.setdefault('events', []).append(
   205             form.update()
   198                 get_json_widget_refresh_event(self.context, self.request,
   206             output.setdefault('events', []).append({
   199                                               VideoParagraphPropertiesInnerEditForm, 'renderer'))
   207                 'event': 'myams.refresh',
       
   208                 'options': {
       
   209                     'handler': 'MyAMS.skin.refreshWidget',
       
   210                     'parent_id': '{0}_{1}_{2}'.format(
       
   211                         self.context.__class__.__name__,
       
   212                         getattr(form.getContent(), '__name__', 'noname').replace('++', ''),
       
   213                         form.id),
       
   214                     'widget_name': form.widgets['renderer'].name,
       
   215                     'content': form.widgets['renderer'].render()
       
   216                 }
       
   217             })
       
   218         return output
   200         return output
   219 
   201 
   220 
   202 
   221 #
   203 #
   222 # Video paragraph renderer
   204 # Video paragraph renderer