From: <svn...@pl...> - 2004-08-23 06:01:30
|
Author: mrtopf Date: Mon Aug 23 01:14:56 2004 New Revision: 5572 Modified: CMFPlone/branches/aachen-plip16/PloneTool.py Log: inherited roles fix Modified: CMFPlone/branches/aachen-plip16/PloneTool.py ============================================================================== --- CMFPlone/branches/aachen-plip16/PloneTool.py (original) +++ CMFPlone/branches/aachen-plip16/PloneTool.py Mon Aug 23 01:14:56 2004 @@ -528,10 +528,11 @@ portal = here.portal_url.getPortalObject() result={} cont=1 + obj=here.aq_inner if portal != here: - parent = here.aq_inner.aq_parent while cont: - userroles = parent.acl_users.getLocalRolesForDisplay(parent) + obj = obj.aq_parent + userroles = obj.acl_users.getLocalRolesForDisplay(obj) for user, roles, type, name in userroles: if result.has_key(user): user2,roles2,type2,name2 = result[user] @@ -542,10 +543,12 @@ result[user]=(user2,tuple(roles2),type2,name2) else: result[user]=(user,roles,type,name) - if parent==portal: - cont=0 - else: - parent=parent.aq_parent + if obj==portal: + # we are on top + break + if hasattr(obj,'isLocalRoleAcquired'): + if not obj.isLocalRoleAcquired(): + break return tuple(result.values()) security.declarePublic('browserDefault') |