[Checkins] SVN: AccessControl/trunk/ Do not override global variable `rolesForPermissionOn` by __role__'s
Yusei Tahara
cvs-admin at zope.org
Wed Aug 22 12:42:58 UTC 2012
Log message for revision 127548:
Do not override global variable `rolesForPermissionOn` by __role__'s
custom one. The same variable name was used by accident. Use different
variable name instead.
Changed:
U AccessControl/trunk/CHANGES.txt
U AccessControl/trunk/src/AccessControl/ZopeSecurityPolicy.py
-=-
Modified: AccessControl/trunk/CHANGES.txt
===================================================================
--- AccessControl/trunk/CHANGES.txt 2012-08-22 08:16:03 UTC (rev 127547)
+++ AccessControl/trunk/CHANGES.txt 2012-08-22 12:42:53 UTC (rev 127548)
@@ -3,8 +3,9 @@
3.0.3 (unreleased)
------------------
+- Fix a bug in ZopeSecurityPolicy.py. Global variable `rolesForPermissionOn`
+ could be overridden if __role__ had custom rolesForPermissionOn.
-
3.0.2 (2012-06-22)
------------------
Modified: AccessControl/trunk/src/AccessControl/ZopeSecurityPolicy.py
===================================================================
--- AccessControl/trunk/src/AccessControl/ZopeSecurityPolicy.py 2012-08-22 08:16:03 UTC (rev 127547)
+++ AccessControl/trunk/src/AccessControl/ZopeSecurityPolicy.py 2012-08-22 12:42:53 UTC (rev 127548)
@@ -51,9 +51,11 @@
if roles is None or isinstance(roles, tuple_or_list):
return roles
-
- rolesForPermissionOn = getattr(roles, 'rolesForPermissionOn', None)
- if rolesForPermissionOn is not None:
- roles = rolesForPermissionOn(value)
+ # XXX: Do not override global variable `rolesForPermissionOn`.
+ # XXX: Use different variable name instead.
+ roles_rolesForPermissionOn = getattr(roles, 'rolesForPermissionOn', None)
+ if roles_rolesForPermissionOn is not None:
+ roles = roles_rolesForPermissionOn(value)
+
return roles
More information about the checkins
mailing list