src/pyams_content/component/theme/zmi/manager.py
changeset 829 f933926ed0a1
parent 800 2b5460ecb254
child 830 ea722c2352b7
equal deleted inserted replaced
828:bf12603398b2 829:f933926ed0a1
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
    10 # FOR A PARTICULAR PURPOSE.
    10 # FOR A PARTICULAR PURPOSE.
    11 #
    11 #
       
    12 from pyams_content.component.theme import ICollectionsManagerTarget, ICollectionsManager
    12 
    13 
    13 __docformat__ = 'restructuredtext'
    14 __docformat__ = 'restructuredtext'
    14 
    15 
    15 
    16 
    16 # import standard library
    17 # import standard library
   104                 permission=MANAGE_TOOL_PERMISSION)
   105                 permission=MANAGE_TOOL_PERMISSION)
   105 @ajax_config(name='themes.json', context=IThemesManagerTarget, layer=IPyAMSLayer)
   106 @ajax_config(name='themes.json', context=IThemesManagerTarget, layer=IPyAMSLayer)
   106 class ThemesManagerEditForm(AdminDialogEditForm):
   107 class ThemesManagerEditForm(AdminDialogEditForm):
   107     """Themes manager edit form"""
   108     """Themes manager edit form"""
   108 
   109 
   109     prefix = 'manager_tags.'
   110     prefix = 'manager_themes.'
   110 
   111 
   111     legend = _("Selected themes")
   112     legend = _("Selected themes")
   112 
   113 
   113     fields = field.Fields(IThemesManager)
   114     fields = field.Fields(IThemesManager)
   114     edit_permission = MANAGE_TOOL_PERMISSION
   115     edit_permission = MANAGE_TOOL_PERMISSION
   128             'ams-events-handlers': {
   129             'ams-events-handlers': {
   129                 'select2-open': 'PyAMS_content.themes.getExtracts'
   130                 'select2-open': 'PyAMS_content.themes.getExtracts'
   130             }
   131             }
   131         }
   132         }
   132         alsoProvides(widget, IObjectData)
   133         alsoProvides(widget, IObjectData)
       
   134 
       
   135 
       
   136 #
       
   137 # Collections management view
       
   138 #
       
   139 
       
   140 @viewlet_config(name='collections-manager.menu', context=ICollectionsManagerTarget, layer=IAdminLayer,
       
   141                 manager=IPropertiesMenu, permission=MANAGE_TOOL_PERMISSION, weight=42)
       
   142 class CollectionsManagerMenu(MenuItem):
       
   143     """Collections menu"""
       
   144 
       
   145     label = _("Collections settings...")
       
   146     icon_class = 'fa-book'
       
   147     url = 'collections.html'
       
   148     modal_target = True
       
   149 
       
   150 
       
   151 @pagelet_config(name='collections.html', context=ICollectionsManagerTarget, layer=IPyAMSLayer,
       
   152                 permission=MANAGE_TOOL_PERMISSION)
       
   153 @ajax_config(name='collections.json', context=ICollectionsManagerTarget, layer=IPyAMSLayer)
       
   154 class CollectionsManagerEditForm(AdminDialogEditForm):
       
   155     """Collections manager edit form"""
       
   156 
       
   157     prefix = 'manager_collections.'
       
   158 
       
   159     legend = _("Selected collections")
       
   160 
       
   161     fields = field.Fields(ICollectionsManager)
       
   162     edit_permission = MANAGE_TOOL_PERMISSION
       
   163 
       
   164     def updateWidgets(self, prefix=None):
       
   165         super(CollectionsManagerEditForm, self).updateWidgets(prefix)
       
   166         widget = self.widgets['thesaurus_name']
       
   167         widget.object_data = {
       
   168             'ams-plugins': 'pyams_content',
       
   169             'ams-plugin-pyams_content-src': get_resource_path(pyams_content),
       
   170             'ams-plugin-pyams_content-callback': 'PyAMS_content.collections.initExtracts',
       
   171             'ams-plugin-pyams_content-async': 'false'
       
   172         }
       
   173         alsoProvides(widget, IObjectData)
       
   174         widget = self.widgets['extract_name']
       
   175         widget.object_data = {
       
   176             'ams-events-handlers': {
       
   177                 'select2-open': 'PyAMS_content.themes.getExtracts'
       
   178             }
       
   179         }
       
   180         alsoProvides(widget, IObjectData)