src/pyams_content/component/theme/zmi/__init__.py
changeset 1389 1485db1e2b5e
parent 829 f933926ed0a1
child 1423 31c1bc24a308
--- a/src/pyams_content/component/theme/zmi/__init__.py	Wed Jun 24 12:07:40 2020 +0200
+++ b/src/pyams_content/component/theme/zmi/__init__.py	Fri Jun 26 12:54:13 2020 +0200
@@ -10,35 +10,31 @@
 # FOR A PARTICULAR PURPOSE.
 #
 
-__docformat__ = 'restructuredtext'
-
-
-# import standard library
+from z3c.form import field
+from zope.interface import implementer
 
-# import interfaces
-from pyams_content.component.theme import ITagsTarget, ITagsInfo, ITagsManager, IThemesTarget, IThemesInfo, \
-    IThemesManagerTarget, IThemesManager, ICollectionsTarget, ICollectionsInfo, ICollectionsManager, \
-    ICollectionsManagerTarget
+from pyams_content.component.theme import ICollectionsInfo, ICollectionsManager, \
+    ICollectionsManagerTarget, ICollectionsTarget, ITagsInfo, ITagsManager, ITagsTarget, \
+    IThemesInfo, IThemesManager, IThemesManagerTarget, IThemesTarget
 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
+from pyams_content.shared.common.zmi import WfSharedContentHeaderAdapter
+from pyams_form.form import AJAXEditForm, EditForm, ajax_config
 from pyams_form.interfaces.form import IWidgetForm
-from pyams_skin.interfaces import IInnerPage, IPageHeader, IDialog
+from pyams_pagelet.pagelet import pagelet_config
+from pyams_skin.interfaces import IDialog, IInnerPage, IPageHeader
 from pyams_skin.layer import IPyAMSLayer
+from pyams_skin.viewlet.menu import MenuItem
+from pyams_thesaurus.zmi.widget import ThesaurusTermsTreeFieldWidget
+from pyams_utils.adapter import adapter_config
 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
+from pyams_utils.traversing import get_parent
+from pyams_viewlet.viewlet import viewlet_config
+from pyams_zmi.form import AdminDialogEditForm, AdminEditForm
 from pyams_zmi.interfaces.menu import IPropertiesMenu
 from pyams_zmi.layer import IAdminLayer
 
-# import packages
-from pyams_content.shared.common.zmi import WfSharedContentHeaderAdapter
-from pyams_form.form import ajax_config, AJAXEditForm, EditForm
-from pyams_pagelet.pagelet import pagelet_config
-from pyams_skin.viewlet.menu import MenuItem
-from pyams_thesaurus.zmi.widget import ThesaurusTermsTreeFieldWidget
-from pyams_utils.adapter import adapter_config
-from pyams_utils.traversing import get_parent
-from pyams_viewlet.viewlet import viewlet_config
-from pyams_zmi.form import AdminEditForm, AdminDialogEditForm
-from z3c.form import field
-from zope.interface import implementer
+
+__docformat__ = 'restructuredtext'
 
 from pyams_content import _
 
@@ -57,8 +53,10 @@
     url = '#tags.html'
 
 
-@pagelet_config(name='tags.html', context=ITagsTarget, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
-@ajax_config(name='tags.json', context=ITagsTarget, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
+@pagelet_config(name='tags.html', context=ITagsTarget, layer=IPyAMSLayer,
+                permission=VIEW_SYSTEM_PERMISSION)
+@ajax_config(name='tags.json', context=ITagsTarget, layer=IPyAMSLayer,
+             permission=MANAGE_CONTENT_PERMISSION)
 @implementer(IWidgetForm, IInnerPage)
 class TagsEditForm(AdminEditForm):
     """Tags edit form"""
@@ -177,24 +175,17 @@
     fields = field.Fields(ICollectionsInfo)
     fields['collections'].widgetFactory = ThesaurusTermsTreeFieldWidget
 
-    def __init__(self, context, request):
-        super(CollectionsEditForm, self).__init__(context, request)
-        target = get_parent(self.context, ICollectionsManagerTarget)
-        manager = ICollectionsManager(target)
-        self.thesaurus_name = manager.thesaurus_name
-        self.extract_name = manager.extract_name
-
     def updateWidgets(self, prefix=None):
         super(CollectionsEditForm, self).updateWidgets(prefix)
         if 'collections' in self.widgets:
             widget = self.widgets['collections']
-            target = get_parent(self.context, ICollectionsManagerTarget)
-            manager = ICollectionsManager(target)
+            manager = ICollectionsManager(self.request.root)
             widget.thesaurus_name = manager.thesaurus_name
             widget.extract_name = manager.extract_name
 
 
-@adapter_config(context=(ICollectionsTarget, IAdminLayer, CollectionsEditForm), provides=IPageHeader)
+@adapter_config(context=(ICollectionsTarget, IAdminLayer, CollectionsEditForm),
+                provides=IPageHeader)
 class CollectionsHeaderAdapter(WfSharedContentHeaderAdapter):
     """Shared content collections header adapter"""