src/pyams_media/zmi/__init__.py
changeset 15 d1477fa29943
parent 11 967f905e1de5
child 19 179f9381965b
equal deleted inserted replaced
14:61775c0158f3 15:d1477fa29943
    18 # import interfaces
    18 # import interfaces
    19 from pyams_form.interfaces.form import IWidgetsSuffixViewletsManager, IInnerTabForm
    19 from pyams_form.interfaces.form import IWidgetsSuffixViewletsManager, IInnerTabForm
    20 from pyams_media.interfaces import IMediaConversionUtility
    20 from pyams_media.interfaces import IMediaConversionUtility
    21 from pyams_skin.interfaces.viewlet import ITableItemColumnActionsMenu
    21 from pyams_skin.interfaces.viewlet import ITableItemColumnActionsMenu
    22 from pyams_skin.layer import IPyAMSLayer
    22 from pyams_skin.layer import IPyAMSLayer
       
    23 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION, MANAGE_SYSTEM_PERMISSION
    23 
    24 
    24 # import packages
    25 # import packages
    25 from pyams_form.form import AJAXEditForm, AJAXAddForm, InnerEditForm
    26 from pyams_form.form import AJAXEditForm, AJAXAddForm, InnerEditForm
    26 from pyams_form.schema import CloseButton
    27 from pyams_form.schema import CloseButton
    27 from pyams_pagelet.pagelet import pagelet_config
    28 from pyams_pagelet.pagelet import pagelet_config
    38 from zope.interface import Interface
    39 from zope.interface import Interface
    39 
    40 
    40 from pyams_media import _
    41 from pyams_media import _
    41 
    42 
    42 
    43 
    43 @pagelet_config(name='properties.html', context=IMediaConversionUtility, layer=IPyAMSLayer, permission='system.view')
    44 @pagelet_config(name='properties.html', context=IMediaConversionUtility, layer=IPyAMSLayer,
       
    45                 permission=VIEW_SYSTEM_PERMISSION)
    44 class MediaConversionUtilityPropertiesEditForm(AdminDialogEditForm):
    46 class MediaConversionUtilityPropertiesEditForm(AdminDialogEditForm):
    45     """Medias conversion utility properties edit form"""
    47     """Medias conversion utility properties edit form"""
    46 
    48 
    47     @property
    49     @property
    48     def title(self):
    50     def title(self):
    53     fields = field.Fields(IMediaConversionUtility).select('zeo_connection')
    55     fields = field.Fields(IMediaConversionUtility).select('zeo_connection')
    54     label_css_class = 'control-label col-md-4'
    56     label_css_class = 'control-label col-md-4'
    55     input_css_class = 'col-md-8'
    57     input_css_class = 'col-md-8'
    56 
    58 
    57     ajax_handler = 'properties.json'
    59     ajax_handler = 'properties.json'
    58     edit_permission = 'system.manage'
    60     edit_permission = MANAGE_SYSTEM_PERMISSION
    59 
    61 
    60 
    62 
    61 @adapter_config(name='video-properties',
    63 @adapter_config(name='video-properties',
    62                 context=(IMediaConversionUtility, IAdminLayer, MediaConversionUtilityPropertiesEditForm),
    64                 context=(IMediaConversionUtility, IAdminLayer, MediaConversionUtilityPropertiesEditForm),
    63                 provides=IInnerTabForm)
    65                 provides=IInnerTabForm)
    90 
    92 
    91     weight = 2
    93     weight = 2
    92 
    94 
    93 
    95 
    94 @view_config(name='properties.json', context=IMediaConversionUtility, request_type=IPyAMSLayer,
    96 @view_config(name='properties.json', context=IMediaConversionUtility, request_type=IPyAMSLayer,
    95              permission='system.manage', renderer='json', xhr=True)
    97              permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True)
    96 class MediaConversionUtilityPropertiesAJAXEditForm(AJAXEditForm, MediaConversionUtilityPropertiesEditForm):
    98 class MediaConversionUtilityPropertiesAJAXEditForm(AJAXEditForm, MediaConversionUtilityPropertiesEditForm):
    97     """Medias conversion utility properties edit form, JSON renderer"""
    99     """Medias conversion utility properties edit form, JSON renderer"""
    98 
   100 
    99 
   101 
   100 @viewlet_config(name='test-conversion-process.menu', context=IMediaConversionUtility, layer=IAdminLayer,
   102 @viewlet_config(name='test-conversion-process.menu', context=IMediaConversionUtility, layer=IAdminLayer,
   101                 view=UtilitiesTable, manager=ITableItemColumnActionsMenu, permission='system.manage')
   103                 view=UtilitiesTable, manager=ITableItemColumnActionsMenu, permission=MANAGE_SYSTEM_PERMISSION)
   102 class MediaConversionProcessTestMenu(ToolbarMenuItem):
   104 class MediaConversionProcessTestMenu(ToolbarMenuItem):
   103     """Medias conversion process test menu"""
   105     """Medias conversion process test menu"""
   104 
   106 
   105     label = _("Test process connection...")
   107     label = _("Test process connection...")
   106     label_css_class = 'fa fa-fw fa-film'
   108     label_css_class = 'fa fa-fw fa-film'
   115     close = CloseButton(name='close', title=_("Close"))
   117     close = CloseButton(name='close', title=_("Close"))
   116     test = button.Button(name='test', title=_("Test connection"))
   118     test = button.Button(name='test', title=_("Test connection"))
   117 
   119 
   118 
   120 
   119 @pagelet_config(name='test-conversion-process.html', context=IMediaConversionUtility, layer=IPyAMSLayer,
   121 @pagelet_config(name='test-conversion-process.html', context=IMediaConversionUtility, layer=IPyAMSLayer,
   120                 permission='system.manage')
   122                 permission=MANAGE_SYSTEM_PERMISSION)
   121 class MediaConversionProcessTestForm(AdminDialogAddForm):
   123 class MediaConversionProcessTestForm(AdminDialogAddForm):
   122     """Medias conversion process test form"""
   124     """Medias conversion process test form"""
   123 
   125 
   124     @property
   126     @property
   125     def title(self):
   127     def title(self):
   130 
   132 
   131     prefix = 'test_form.'
   133     prefix = 'test_form.'
   132     fields = field.Fields(Interface)
   134     fields = field.Fields(Interface)
   133     buttons = button.Buttons(IMediaConversionProcessTestButtons)
   135     buttons = button.Buttons(IMediaConversionProcessTestButtons)
   134     ajax_handler = 'test-conversion-process.json'
   136     ajax_handler = 'test-conversion-process.json'
   135     edit_permission = 'system.manage'
   137     edit_permission = MANAGE_SYSTEM_PERMISSION
   136 
   138 
   137     @property
   139     @property
   138     def form_target(self):
   140     def form_target(self):
   139         return '#{0}_test_result'.format(self.id)
   141         return '#{0}_test_result'.format(self.id)
   140 
   142 
   153 class MediaConversionProcessTestSuffix(Viewlet):
   155 class MediaConversionProcessTestSuffix(Viewlet):
   154     """Media conversion process test form suffix"""
   156     """Media conversion process test form suffix"""
   155 
   157 
   156 
   158 
   157 @view_config(name='test-conversion-process.json', context=IMediaConversionUtility, request_type=IPyAMSLayer,
   159 @view_config(name='test-conversion-process.json', context=IMediaConversionUtility, request_type=IPyAMSLayer,
   158              permission='system.manage', renderer='json', xhr=True)
   160              permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True)
   159 class MediaConversionProcessAJAXTestForm(AJAXAddForm, MediaConversionProcessTestForm):
   161 class MediaConversionProcessAJAXTestForm(AJAXAddForm, MediaConversionProcessTestForm):
   160     """Medias conversion process test form, JSON renderer"""
   162     """Medias conversion process test form, JSON renderer"""
   161 
   163 
   162     def get_ajax_output(self, changes):
   164     def get_ajax_output(self, changes):
   163         status, message = changes
   165         status, message = changes