[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ - all_meta_types isn't always callable
Yvo Schubbe
cvs-admin at zope.org
Tue Oct 15 17:00:42 CEST 2013
Log message for revision 130335:
- all_meta_types isn't always callable
Changed:
U Products.CMFCore/trunk/Products/CMFCore/TypesTool.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_TypesTool.py
-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/TypesTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/TypesTool.py 2013-10-15 09:35:30 UTC (rev 130334)
+++ Products.CMFCore/trunk/Products/CMFCore/TypesTool.py 2013-10-15 15:00:41 UTC (rev 130335)
@@ -515,7 +515,10 @@
# newstyle factory
m = queryUtility(IFactory, self.factory, None)
if m is not None:
- for d in container.all_meta_types():
+ meta_types = container.all_meta_types
+ if callable(meta_types):
+ meta_types = meta_types()
+ for d in meta_types:
if d['name'] == self.content_meta_type:
sm = getSecurityManager()
ti_check = sm.checkPermission(d['permission'],
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_TypesTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_TypesTool.py 2013-10-15 09:35:30 UTC (rev 130334)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_TypesTool.py 2013-10-15 15:00:41 UTC (rev 130335)
@@ -574,6 +574,10 @@
newSecurityManager(None, UserWithRoles('FooViewer').__of__(self.f))
self.assertFalse(self.ti.isConstructionAllowed(self.f))
+ def test_isConstructionAllowed_w_all_meta_types_not_callable(self):
+ self.f.all_meta_types = ({'name': 'Dummy', 'permission': 'addFoo'},)
+ self.assertTrue(self.ti.isConstructionAllowed(self.f))
+
def test_constructInstance_wo_Roles(self):
from AccessControl.SecurityManagement import newSecurityManager
from AccessControl.unauthorized import Unauthorized
More information about the checkins
mailing list