src/pyams_content/component/paragraph/zmi/video.py
changeset 245 6b02caf97666
parent 218 f9744fecbb23
child 283 9139536eab90
equal deleted inserted replaced
244:175c2a77104d 245:6b02caf97666
    18 # import interfaces
    18 # import interfaces
    19 from pyams_content.component.association.zmi.interfaces import IAssociationsParentForm
    19 from pyams_content.component.association.zmi.interfaces import IAssociationsParentForm
    20 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \
    20 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer, \
    21     IParagraphSummary
    21     IParagraphSummary
    22 from pyams_content.component.paragraph.interfaces.video import IVideoParagraph
    22 from pyams_content.component.paragraph.interfaces.video import IVideoParagraph
    23 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor
    23 from pyams_content.component.paragraph.zmi.interfaces import IParagraphInnerEditor, IParagraphContainerView
    24 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    24 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    25 from pyams_content.shared.common.interfaces import IWfSharedContent
       
    26 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons
    25 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons
    27 from pyams_i18n.interfaces import II18n
    26 from pyams_i18n.interfaces import II18n
    28 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
    27 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
    29 from pyams_skin.layer import IPyAMSLayer
    28 from pyams_skin.layer import IPyAMSLayer
    30 from pyams_zmi.interfaces import IPropertiesEditForm
    29 from pyams_zmi.interfaces import IPropertiesEditForm
    33 
    32 
    34 # import packages
    33 # import packages
    35 from pyams_content.component.association.zmi import AssociationsTable
    34 from pyams_content.component.association.zmi import AssociationsTable
    36 from pyams_content.component.paragraph.video import VideoParagraph
    35 from pyams_content.component.paragraph.video import VideoParagraph
    37 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    36 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    38     BaseParagraphAddMenu
    37     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
    39 from pyams_content.component.paragraph.zmi.container import ParagraphContainerView
       
    40 from pyams_form.group import NamedWidgetsGroup
    38 from pyams_form.group import NamedWidgetsGroup
    41 from pyams_pagelet.pagelet import pagelet_config
    39 from pyams_pagelet.pagelet import pagelet_config
    42 from pyams_template.template import template_config
    40 from pyams_template.template import template_config
    43 from pyams_utils.adapter import adapter_config
    41 from pyams_utils.adapter import adapter_config
    44 from pyams_utils.traversing import get_parent
       
    45 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    42 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    46 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
    43 from pyams_zmi.form import AdminDialogAddForm
    47 from pyramid.view import view_config
    44 from pyramid.view import view_config
    48 from z3c.form import field, button
    45 from z3c.form import field, button
    49 from zope.interface import implementer
    46 from zope.interface import implementer
    50 
    47 
    51 from pyams_content import _
    48 from pyams_content import _
    52 
    49 
    53 
    50 
    54 @viewlet_config(name='add-video-paragraph.menu', context=IParagraphContainerTarget, view=ParagraphContainerView,
    51 @viewlet_config(name='add-video-paragraph.menu', context=IParagraphContainerTarget, view=IParagraphContainerView,
    55                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=70)
    52                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=70)
    56 class VideoParagraphAddMenu(BaseParagraphAddMenu):
    53 class VideoParagraphAddMenu(BaseParagraphAddMenu):
    57     """Video paragraph add menu"""
    54     """Video paragraph add menu"""
    58 
    55 
    59     label = _("Add video paragraph...")
    56     label = _("Add video paragraph...")
   104     """Video paragraph add form, JSON renderer"""
   101     """Video paragraph add form, JSON renderer"""
   105 
   102 
   106 
   103 
   107 @pagelet_config(name='properties.html', context=IVideoParagraph, layer=IPyAMSLayer,
   104 @pagelet_config(name='properties.html', context=IVideoParagraph, layer=IPyAMSLayer,
   108                 permission=MANAGE_CONTENT_PERMISSION)
   105                 permission=MANAGE_CONTENT_PERMISSION)
   109 class VideoParagraphPropertiesEditForm(AdminDialogEditForm):
   106 class VideoParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm):
   110     """Video paragraph properties edit form"""
   107     """Video paragraph properties edit form"""
   111 
       
   112     @property
       
   113     def title(self):
       
   114         content = get_parent(self.context, IWfSharedContent)
       
   115         return II18n(content).query_attribute('title', request=self.request)
       
   116 
   108 
   117     legend = _("Edit video properties")
   109     legend = _("Edit video properties")
   118     dialog_class = 'modal-large'
   110     dialog_class = 'modal-large'
   119     icon_css_class = 'fa fa-fw fa-film'
   111     icon_css_class = 'fa fa-fw fa-film'
   120 
   112