Log message for revision 76466: Pass 'object' through to TypeInformation objects' 'listActions'. o http://www.zope.org/Collectors/CMF/482
Changed: U CMF/branches/2.1/CHANGES.txt U CMF/branches/2.1/CMFCore/TypesTool.py U CMF/branches/2.1/CMFCore/tests/test_TypesTool.py -=- Modified: CMF/branches/2.1/CHANGES.txt =================================================================== --- CMF/branches/2.1/CHANGES.txt 2007-06-07 15:42:51 UTC (rev 76465) +++ CMF/branches/2.1/CHANGES.txt 2007-06-07 16:20:51 UTC (rev 76466) @@ -2,19 +2,22 @@ Bug Fixes - - Removed extraneous "Cache" tab from FS-based skin objects - http://www.zope.org/Collectors/CMF/343 + - Pass 'object' through to TypeInformation objects' 'listActions'. + (http://www.zope.org/Collectors/CMF/482) + + - Removed extraneous "Cache" tab from FS-based skin objects. + (http://www.zope.org/Collectors/CMF/343) - CMFCore.WorkflowTool: Using the '(Default)' keyword for a type's - workflow chain will now reset any custom workflow chains for the type + workflow chain will now reset any custom workflow chains for the type. (http://www.zope.org/Collectors/CMF/475) - Use the property API to get the member specific skin, because direct attribute access won't work with PAS based membership. (http://dev.plone.org/plone/ticket/5904) - - Add POST-only protections to security critical methods (see - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0240). + - Add POST-only protections to security critical methods. + http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0240) - Allow customization from DirectoryViews to be redirected into alternate folders, and use manually-built clones. Modified: CMF/branches/2.1/CMFCore/TypesTool.py =================================================================== --- CMF/branches/2.1/CMFCore/TypesTool.py 2007-06-07 15:42:51 UTC (rev 76465) +++ CMF/branches/2.1/CMFCore/TypesTool.py 2007-06-07 16:20:51 UTC (rev 76466) @@ -734,7 +734,7 @@ if object is not None: type_info = self.getTypeInfo(object) if type_info is not None: - actions.extend( type_info.listActions() ) + actions.extend( type_info.listActions(info, object) ) return actions Modified: CMF/branches/2.1/CMFCore/tests/test_TypesTool.py =================================================================== --- CMF/branches/2.1/CMFCore/tests/test_TypesTool.py 2007-06-07 15:42:51 UTC (rev 76465) +++ CMF/branches/2.1/CMFCore/tests/test_TypesTool.py 2007-06-07 16:20:51 UTC (rev 76466) @@ -35,6 +35,7 @@ from Products.CMFCore.testing import FunctionalZCMLLayer from Products.CMFCore.tests.base.dummy import DummyFactory from Products.CMFCore.tests.base.dummy import DummyFactoryDispatcher +from Products.CMFCore.tests.base.dummy import DummyContent from Products.CMFCore.tests.base.dummy import DummyFolder from Products.CMFCore.tests.base.dummy import DummyObject from Products.CMFCore.tests.base.dummy import DummySite @@ -48,7 +49,20 @@ from Products.CMFCore.tests.base.tidata import FTIDATA_DUMMY from Products.CMFCore.tests.base.tidata import STI_SCRIPT +from zope.interface import implements +from Products.CMFCore.interfaces import ITypeInformation +class ActionTesterTypeInfo: + + implements(ITypeInformation) + + id = 'Dummy Content' + + def listActions(self, info=None, obj=None): + self._action_info = info + self._action_obj = obj + return () + class TypesToolTests(SecurityTest, WarningInterceptor): layer = FunctionalZCMLLayer @@ -92,6 +106,20 @@ verifyClass(IActionProvider, TypesTool) verifyClass(ITypesTool, TypesTool) + def test_listActions(self): + """test that a full set of context information is passed + by the types tool + """ + tool = self.ttool + ti = ActionTesterTypeInfo() + setattr( tool, 'Dummy Content', ti ) + + dummy = self.site._setObject('dummy', DummyContent('dummy')) + tool.listActions('fake_info', dummy) + + self.assertEqual(ti._action_info, 'fake_info') + self.assertEqual(ti._action_obj, dummy) + def test_allMetaTypes(self): """ Test that everything returned by allMetaTypes can be _______________________________________________ CMF-checkins mailing list [email protected] http://mail.zope.org/mailman/listinfo/cmf-checkins
