--- 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)