src/pyams_content/component/gallery/zmi/paragraph.py
changeset 253 80837cd25447
parent 205 af5d52115698
child 283 9139536eab90
equal deleted inserted replaced
252:2dafc720b378 253:80837cd25447
    18 # import interfaces
    18 # import interfaces
    19 from pyams_content.component.gallery.interfaces import IGalleryParagraph, IBaseGallery, IGalleryRenderer
    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     IParagraphSummary
    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, IInnerSubForm
    25 from pyams_form.interfaces.form import IInnerForm, IEditFormButtons, IInnerSubForm
    27 from pyams_i18n.interfaces import II18n
    26 from pyams_i18n.interfaces import II18n
    28 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager
    27 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager
    29 from pyams_skin.layer import IPyAMSLayer
    28 from pyams_skin.layer import IPyAMSLayer
    30 from z3c.form.interfaces import INPUT_MODE
    29 from z3c.form.interfaces import INPUT_MODE
    31 
    30 
    32 # import packages
    31 # import packages
    33 from pyams_content.component.gallery.paragraph import Gallery
    32 from pyams_content.component.gallery.paragraph import Gallery
    34 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    33 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    35     BaseParagraphAddMenu
    34     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm
    36 from pyams_content.component.paragraph.zmi.container import ParagraphContainerView
       
    37 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin
    35 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin
    38 from pyams_pagelet.pagelet import pagelet_config
    36 from pyams_pagelet.pagelet import pagelet_config
    39 from pyams_skin.viewlet.toolbar import ToolbarAction
    37 from pyams_skin.viewlet.toolbar import ToolbarAction
    40 from pyams_template.template import template_config
    38 from pyams_template.template import template_config
    41 from pyams_utils.adapter import adapter_config
    39 from pyams_utils.adapter import adapter_config
    42 from pyams_utils.traversing import get_parent
       
    43 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    40 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider
    44 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm, InnerAdminDisplayForm
    41 from pyams_zmi.form import AdminDialogAddForm, InnerAdminDisplayForm
    45 from pyramid.view import view_config
    42 from pyramid.view import view_config
    46 from z3c.form import field, button
    43 from z3c.form import field, button
    47 from zope.interface import implementer, Interface
    44 from zope.interface import implementer, Interface
    48 
    45 
    49 from pyams_content import _
    46 from pyams_content import _
    50 
    47 
    51 
    48 
    52 @viewlet_config(name='add-gallery.menu', context=IParagraphContainerTarget, view=ParagraphContainerView,
    49 @viewlet_config(name='add-gallery.menu', context=IParagraphContainerTarget, view=IParagraphContainerView,
    53                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=65)
    50                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=65)
    54 class GalleryAddMenu(BaseParagraphAddMenu):
    51 class GalleryAddMenu(BaseParagraphAddMenu):
    55     """Gallery add menu"""
    52     """Gallery add menu"""
    56 
    53 
    57     label = _("Add images gallery...")
    54     label = _("Add images gallery...")
    90     """Gallery paragraph add form, JSON renderer"""
    87     """Gallery paragraph add form, JSON renderer"""
    91 
    88 
    92 
    89 
    93 @pagelet_config(name='properties.html', context=IGalleryParagraph, layer=IPyAMSLayer,
    90 @pagelet_config(name='properties.html', context=IGalleryParagraph, layer=IPyAMSLayer,
    94                 permission=MANAGE_CONTENT_PERMISSION)
    91                 permission=MANAGE_CONTENT_PERMISSION)
    95 class GalleryPropertiesEditForm(AdminDialogEditForm):
    92 class GalleryPropertiesEditForm(BaseParagraphPropertiesEditForm):
    96     """Gallery properties edit form"""
    93     """Gallery properties edit form"""
    97 
       
    98     @property
       
    99     def title(self):
       
   100         content = get_parent(self.context, IWfSharedContent)
       
   101         return II18n(content).query_attribute('title', request=self.request)
       
   102 
    94 
   103     legend = _("Edit gallery properties")
    95     legend = _("Edit gallery properties")
   104     icon_css_class = 'fa fa-fw fa-picture-o'
    96     icon_css_class = 'fa fa-fw fa-picture-o'
   105 
    97 
   106     fields = field.Fields(IGalleryParagraph).omit('__parent__', '__name__', 'visible')
    98     fields = field.Fields(IGalleryParagraph).omit('__parent__', '__name__', 'visible')