From 3234cf1982b2f0d5edae16174e7b2e7f28dfdafc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Fri, 24 Mar 2006 12:36:22 +0000 Subject: [PATCH] cache path of TypeInformation objects, not objects themselves (for allowedContentType) git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@6198 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Type/Document/Folder.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/product/ERP5Type/Document/Folder.py b/product/ERP5Type/Document/Folder.py index 60531c30db..77c92b85e0 100755 --- a/product/ERP5Type/Document/Folder.py +++ b/product/ERP5Type/Document/Folder.py @@ -644,17 +644,19 @@ be a problem).""" def compareTypes(a, b): return cmp(a.title or a.id, b.title or b.id) type_list = CMFBTreeFolder.allowedContentTypes(self) type_list.sort(compareTypes) - return type_list + return ['/'.join(x.getPhysicalPath()) for x in type_list] _allowedContentTypes = CachingMethod( _allowedContentTypes, id = 'allowedContentTypes', cache_duration = 300) user = str(_getAuthenticatedUser(self)) portal_type = self.getPortalType() - portal_path = self.getPortalObject().getPhysicalPath() - return _allowedContentTypes( portal_type = portal_type, - user = user, - portal_path = portal_path ) + portal = self.getPortalObject() + portal_path = portal.getPhysicalPath() + return [portal.restrictedTraverse(path) for path in + _allowedContentTypes( portal_type = portal_type, + user = user, + portal_path = portal_path )] # Multiple Inheritance Priority Resolution _setProperty = Base._setProperty -- 2.30.9