--- a/src/pyams_security/security.py Wed May 20 12:31:27 2015 +0200
+++ b/src/pyams_security/security.py Wed Jun 17 09:59:18 2015 +0200
@@ -27,7 +27,6 @@
from pyams_utils.adapter import adapter_config
from pyams_utils.property import request_property
from pyams_utils.registry import query_utility
-from pyams_utils.request import check_request
from pyramid.location import lineage
from pyramid.security import DENY_ALL, Everyone, Allow, ALL_PERMISSIONS, Authenticated
from pyramid.threadlocal import get_current_registry
@@ -88,7 +87,7 @@
self._authenticated_permissions = value
def grant_role(self, role_id, principal_ids):
- registry = check_request().registry
+ registry = get_current_registry()
if IRole.providedBy(role_id):
role_id = role_id.id
if isinstance(principal_ids, str):
@@ -106,13 +105,13 @@
registry.notify(GrantedRoleEvent(self, role_id, principal_id))
def revoke_role(self, role_id, principal_ids):
- registry = check_request().registry
+ registry = get_current_registry()
if IRole.providedBy(role_id):
role_id = role_id.id
if isinstance(principal_ids, str):
principal_ids = {principal_ids}
role_principals = self._principals_by_role.get(role_id) or set()
- for principal_id in principal_ids:
+ for principal_id in principal_ids.copy():
if IPrincipalInfo.providedBy(principal_id):
principal_id = principal_id.id
if principal_id in role_principals:
@@ -140,7 +139,7 @@
return self._roles_by_principal.get(principal_id) or set()
def get_permissions(self, principal_id):
- registry = check_request().registry
+ registry = get_current_registry()
result = set()
for role_id in self.get_roles(principal_id):
role = registry.queryUtility(IRole, role_id)