Commit 338176bb authored by Ken Manheimer's avatar Ken Manheimer

BasicUser.has_role(): Wasn't recursing on local roles - we now use

self.getRolesInContext() when object is specified, which does The
Right Thing.
parent 8f0e4824
......@@ -84,7 +84,7 @@
##############################################################################
"""Access control package"""
__version__='$Revision: 1.80 $'[11:-2]
__version__='$Revision: 1.81 $'[11:-2]
import Globals, App.Undo, socket, regex
from Globals import HTMLFile, MessageDialog, Persistent, PersistentMapping
......@@ -222,15 +222,9 @@ class BasicUser(Implicit):
if type(roles)==type('s'):
roles=[roles]
if object is not None:
# Check in object for local roles.
user = self.getUserName()
dict = object.__ac_local_roles__ or {}
if dict.has_key(user):
local_roles = dict[user]
for role in roles:
if role in local_roles:
return 1
# No local roles, try global roles...
user_roles = self.getRolesInContext(object)
else:
# Global roles only...
user_roles=self.getRoles()
for role in roles:
if role in user_roles:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment