src/pyams_content/component/gallery/zmi/__init__.py
changeset 527 5dd1aa8bedd9
parent 395 2a39b333a585
child 552 63d41f025390
equal deleted inserted replaced
526:b15153f45957 527:5dd1aa8bedd9
    19 
    19 
    20 from io import BytesIO
    20 from io import BytesIO
    21 
    21 
    22 # import interfaces
    22 # import interfaces
    23 from pyams_content.component.gallery.interfaces import IGallery
    23 from pyams_content.component.gallery.interfaces import IGallery
    24 from pyams_content.component.gallery.zmi.interfaces import IGalleryMediasAddFields, IGalleryContentsView
    24 from pyams_content.component.gallery.zmi.interfaces import IGalleryContentsView
    25 from pyams_content.features.renderer.interfaces import IContentRenderer
       
    26 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    25 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    27 from pyams_file.interfaces import IFileInfo
    26 from pyams_file.interfaces import IFileInfo
    28 from pyams_form.interfaces.form import IWidgetsPrefixViewletsManager
    27 from pyams_form.interfaces.form import IWidgetsPrefixViewletsManager
    29 from pyams_i18n.interfaces import II18n
    28 from pyams_i18n.interfaces import II18n
    30 from pyams_skin.layer import IPyAMSLayer
    29 from pyams_skin.layer import IPyAMSLayer
    31 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    30 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    32 from pyramid.interfaces import IView
    31 from pyramid.interfaces import IView
    33 
    32 
    34 # import packages
    33 # import packages
    35 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin
    34 from pyams_content.shared.common.zmi import WfSharedContentPermissionMixin
    36 from pyams_content.features.renderer.zmi import BaseContentRenderer
       
    37 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
    35 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
    38 from pyams_form.form import AJAXEditForm
    36 from pyams_form.form import AJAXEditForm
    39 from pyams_pagelet.pagelet import pagelet_config
    37 from pyams_pagelet.pagelet import pagelet_config
    40 from pyams_template.template import template_config
    38 from pyams_template.template import template_config
    41 from pyams_utils.adapter import adapter_config
       
    42 from pyams_utils.url import absolute_url
    39 from pyams_utils.url import absolute_url
    43 from pyams_viewlet.viewlet import viewlet_config, Viewlet
    40 from pyams_viewlet.viewlet import viewlet_config, Viewlet
    44 from pyams_zmi.form import AdminDialogEditForm, AdminDialogDisplayForm
    41 from pyams_zmi.form import AdminDialogEditForm, AdminDialogDisplayForm
    45 from pyramid.exceptions import NotFound
    42 from pyramid.exceptions import NotFound
    46 from pyramid.renderers import render_to_response
    43 from pyramid.renderers import render_to_response
    57 #
    54 #
    58 
    55 
    59 @pagelet_config(name='properties.html', context=IGallery, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
    56 @pagelet_config(name='properties.html', context=IGallery, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
    60 class GalleryPropertiesEditForm(AdminDialogEditForm):
    57 class GalleryPropertiesEditForm(AdminDialogEditForm):
    61     """Gallery properties edit form"""
    58     """Gallery properties edit form"""
       
    59 
       
    60     prefix = 'gallery_properties.'
    62 
    61 
    63     legend = _("Update gallery properties")
    62     legend = _("Update gallery properties")
    64     icon_css_class = 'fa fa-fw fa-picture-o'
    63     icon_css_class = 'fa fa-fw fa-picture-o'
    65 
    64 
    66     fields = field.Fields(IGallery).omit('__parent__', '__file__')
    65     fields = field.Fields(IGallery).omit('__parent__', '__file__')
    80 class GalleryPropertiesAJAXEditForm(AJAXEditForm, GalleryPropertiesEditForm):
    79 class GalleryPropertiesAJAXEditForm(AJAXEditForm, GalleryPropertiesEditForm):
    81     """Gallery properties edit form, JSON renderer"""
    80     """Gallery properties edit form, JSON renderer"""
    82 
    81 
    83     def get_ajax_output(self, changes):
    82     def get_ajax_output(self, changes):
    84         if 'title' in changes.get(IGallery, ()):
    83         if 'title' in changes.get(IGallery, ()):
    85             return {'status': 'reload',
    84             return {
    86                     'location': '#external-files.html'}
    85                 'status': 'reload',
       
    86                 'location': '#external-files.html'
       
    87             }
    87         else:
    88         else:
    88             return super(GalleryPropertiesAJAXEditForm, self).get_ajax_output(changes)
    89             return super(GalleryPropertiesAJAXEditForm, self).get_ajax_output(changes)
    89 
    90 
    90 
    91 
    91 #
    92 #