From a411cf654fac00d487c29672134663efb862818f Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sat, 16 Feb 2013 15:46:47 +0100 Subject: [PATCH] avoid error for objects without security assertions (like ConceptManager) --- security/common.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/security/common.py b/security/common.py index bb8c874..30c1c3c 100644 --- a/security/common.py +++ b/security/common.py @@ -120,12 +120,14 @@ def setPrincipalRole(prm, r, p, setting): def assignOwner(obj, principalId): - prm = IPrincipalRoleManager(obj) - prm.assignRoleToPrincipal('loops.Owner', principalId) + prm = IPrincipalRoleManager(obj, None) + if prm is not None: + prm.assignRoleToPrincipal('loops.Owner', principalId) def removeOwner(obj, principalId): - prm = IPrincipalRoleManager(obj) - prm.unsetRoleForPrincipal('loops.Owner', principalId) + prm = IPrincipalRoleManager(obj, None) + if prm is not None: + prm.unsetRoleForPrincipal('loops.Owner', principalId) def assignPersonRole(obj, principalId): prm = IPrincipalRoleManager(obj)