diff --git a/product/ERP5Type/patches/ActionsTool.py b/product/ERP5Type/patches/ActionsTool.py index a593c02b5c964b5a81aa3ea9ccca098ea774925c..5a17272cd615f7b4e3a210f6579a662ace0cb6ce 100644 --- a/product/ERP5Type/patches/ActionsTool.py +++ b/product/ERP5Type/patches/ActionsTool.py @@ -12,7 +12,14 @@ # ############################################################################## -from Products.CMFCore.ActionsTool import ActionsTool, IActionProvider +from Products.CMFCore.ActionsTool import ActionsTool +try: + from Products.CMFCore.interfaces import IActionProvider + providedBy = IActionProvider.providedBy +except ImportError: + # XXX Do not initialize ZCML in unit tests on Zope 2.8 for the moment + from Products.CMFCore.ActionsTool import IActionProvider + providedBy = IActionProvider.isImplementedBy ActionsTool_listFilteredActionsFor = ActionsTool.listFilteredActionsFor @@ -27,7 +34,7 @@ def listFilteredActionsFor(self, object=None): # Include actions from specific tools. for provider_name in self.listActionProviders(): provider = getattr(self, provider_name) - if IActionProvider.isImplementedBy(provider): + if providedBy(provider): actions.extend( provider.listActionInfos(object=object) ) elif hasattr(provider, 'getFilteredActionListFor'): from Products.ERP5Type.Utils import createExpressionContext