src/pyams_content/component/extfile/zmi/__init__.py
changeset 314 18da24db44b6
parent 283 9139536eab90
child 527 5dd1aa8bedd9
equal deleted inserted replaced
313:2e71fb238b1c 314:18da24db44b6
    82                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=60)
    82                 layer=IPyAMSLayer, manager=IToolbarAddingMenu, weight=60)
    83 class ExtFileAddMenu(ProtectedFormObjectMixin, ToolbarMenuItem):
    83 class ExtFileAddMenu(ProtectedFormObjectMixin, ToolbarMenuItem):
    84     """External file add menu"""
    84     """External file add menu"""
    85 
    85 
    86     label = _("Add external file")
    86     label = _("Add external file")
    87     label_css_class = 'fa fa-fw fa-file-o'
    87     label_css_class = 'fa fa-fw fa-file-text-o'
    88 
    88 
    89     url = 'add-extfile.html'
    89     url = 'add-extfile.html'
    90     modal_target = True
    90     modal_target = True
    91 
    91 
    92 
    92 
    94                 permission=MANAGE_CONTENT_PERMISSION)
    94                 permission=MANAGE_CONTENT_PERMISSION)
    95 class ExtFileAddForm(AdminDialogAddForm):
    95 class ExtFileAddForm(AdminDialogAddForm):
    96     """External file add form"""
    96     """External file add form"""
    97 
    97 
    98     legend = _("Add new external file")
    98     legend = _("Add new external file")
    99     icon_css_class = 'fa fa-fw fa-file-o'
    99     icon_css_class = 'fa fa-fw fa-file-text-o'
   100 
   100 
   101     fields = field.Fields(IExtFile).select('title', 'description', 'author', 'language', 'data', 'filename')
   101     fields = field.Fields(IExtFile).select('title', 'description', 'author', 'language', 'data', 'filename')
   102     ajax_handler = 'add-extfile.json'
   102     ajax_handler = 'add-extfile.json'
   103     edit_permission = MANAGE_CONTENT_PERMISSION
   103     edit_permission = MANAGE_CONTENT_PERMISSION
   104 
   104 
   141 @pagelet_config(name='properties.html', context=IExtFile, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
   141 @pagelet_config(name='properties.html', context=IExtFile, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
   142 class ExtFilePropertiesEditForm(AdminDialogEditForm):
   142 class ExtFilePropertiesEditForm(AdminDialogEditForm):
   143     """External file properties edit form"""
   143     """External file properties edit form"""
   144 
   144 
   145     legend = _("Update file properties")
   145     legend = _("Update file properties")
   146     icon_css_class = 'fa fa-fw fa-file-o'
   146     icon_css_class = 'fa fa-fw fa-file-text-o'
   147     dialog_class = 'modal-large'
   147     dialog_class = 'modal-large'
   148 
   148 
   149     fields = field.Fields(IExtFile).select('title', 'description', 'author', 'language', 'data', 'filename')
   149     fields = field.Fields(IExtFile).select('title', 'description', 'author', 'language', 'data', 'filename')
   150     ajax_handler = 'properties.json'
   150     ajax_handler = 'properties.json'
   151     edit_permission = MANAGE_CONTENT_PERMISSION
   151     edit_permission = MANAGE_CONTENT_PERMISSION
   211     icon_css_class = 'fa fa-fw fa-file-image-o'
   211     icon_css_class = 'fa fa-fw fa-file-image-o'
   212 
   212 
   213     fields = field.Fields(IExtImage).select('title', 'alt_title', 'description', 'author',
   213     fields = field.Fields(IExtImage).select('title', 'alt_title', 'description', 'author',
   214                                             'language', 'data', 'filename')
   214                                             'language', 'data', 'filename')
   215     ajax_handler = 'add-extimage.json'
   215     ajax_handler = 'add-extimage.json'
       
   216 
       
   217     def updateWidgets(self, prefix=None):
       
   218         super(ExtImageAddForm, self).updateWidgets(prefix)
       
   219         if 'title' in self.widgets:
       
   220             self.widgets['title'].description = None
       
   221         if 'description' in self.widgets:
       
   222             self.widgets['description'].description = None
   216 
   223 
   217     def create(self, data):
   224     def create(self, data):
   218         factory = EXTERNAL_FILES_FACTORIES.get('image')
   225         factory = EXTERNAL_FILES_FACTORIES.get('image')
   219         if factory is not None:
   226         if factory is not None:
   220             return factory[0]()
   227             return factory[0]()
   250     icon_css_class = 'fa fa-fw fa-file-image-o'
   257     icon_css_class = 'fa fa-fw fa-file-image-o'
   251 
   258 
   252     fields = field.Fields(IExtImage).select('title', 'alt_title', 'description', 'author',
   259     fields = field.Fields(IExtImage).select('title', 'alt_title', 'description', 'author',
   253                                             'language', 'data', 'filename')
   260                                             'language', 'data', 'filename')
   254 
   261 
       
   262     def updateWidgets(self, prefix=None):
       
   263         super(ExtImagePropertiesEditForm, self).updateWidgets(prefix)
       
   264         if 'title' in self.widgets:
       
   265             self.widgets['title'].description = None
       
   266         if 'description' in self.widgets:
       
   267             self.widgets['description'].description = None
       
   268 
   255 
   269 
   256 @view_config(name='properties.json', context=IExtImage, request_type=IPyAMSLayer,
   270 @view_config(name='properties.json', context=IExtImage, request_type=IPyAMSLayer,
   257              permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True)
   271              permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True)
   258 class ExtImagePropertiesAJAXEditForm(AssociationItemAJAXEditForm, ExtImagePropertiesEditForm):
   272 class ExtImagePropertiesAJAXEditForm(AssociationItemAJAXEditForm, ExtImagePropertiesEditForm):
   259     """External image properties edit form, JSON renderer"""
   273     """External image properties edit form, JSON renderer"""