diff -r bf12603398b2 -r f933926ed0a1 src/pyams_content/component/theme/zmi/manager.py --- a/src/pyams_content/component/theme/zmi/manager.py Tue Jul 10 16:59:55 2018 +0200 +++ b/src/pyams_content/component/theme/zmi/manager.py Wed Jul 11 10:18:10 2018 +0200 @@ -9,6 +9,7 @@ # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # +from pyams_content.component.theme import ICollectionsManagerTarget, ICollectionsManager __docformat__ = 'restructuredtext' @@ -106,7 +107,7 @@ class ThemesManagerEditForm(AdminDialogEditForm): """Themes manager edit form""" - prefix = 'manager_tags.' + prefix = 'manager_themes.' legend = _("Selected themes") @@ -130,3 +131,50 @@ } } alsoProvides(widget, IObjectData) + + +# +# Collections management view +# + +@viewlet_config(name='collections-manager.menu', context=ICollectionsManagerTarget, layer=IAdminLayer, + manager=IPropertiesMenu, permission=MANAGE_TOOL_PERMISSION, weight=42) +class CollectionsManagerMenu(MenuItem): + """Collections menu""" + + label = _("Collections settings...") + icon_class = 'fa-book' + url = 'collections.html' + modal_target = True + + +@pagelet_config(name='collections.html', context=ICollectionsManagerTarget, layer=IPyAMSLayer, + permission=MANAGE_TOOL_PERMISSION) +@ajax_config(name='collections.json', context=ICollectionsManagerTarget, layer=IPyAMSLayer) +class CollectionsManagerEditForm(AdminDialogEditForm): + """Collections manager edit form""" + + prefix = 'manager_collections.' + + legend = _("Selected collections") + + fields = field.Fields(ICollectionsManager) + edit_permission = MANAGE_TOOL_PERMISSION + + def updateWidgets(self, prefix=None): + super(CollectionsManagerEditForm, self).updateWidgets(prefix) + widget = self.widgets['thesaurus_name'] + widget.object_data = { + 'ams-plugins': 'pyams_content', + 'ams-plugin-pyams_content-src': get_resource_path(pyams_content), + 'ams-plugin-pyams_content-callback': 'PyAMS_content.collections.initExtracts', + 'ams-plugin-pyams_content-async': 'false' + } + alsoProvides(widget, IObjectData) + widget = self.widgets['extract_name'] + widget.object_data = { + 'ams-events-handlers': { + 'select2-open': 'PyAMS_content.themes.getExtracts' + } + } + alsoProvides(widget, IObjectData)