From 5affb388339337a749256d09a5b806d5a472f43c Mon Sep 17 00:00:00 2001 From: helmutm Date: Mon, 14 Jun 2010 11:19:08 +0000 Subject: [PATCH] security: propagate security upon saving workspace information; copy principal roles from workspace, too git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3903 fd906abe-77d9-0310-91a1-e0d9ade77398 --- security/browser.py | 4 ++++ security/setter.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/security/browser.py b/security/browser.py index 8d1caaf..1ef9e7b 100644 --- a/security/browser.py +++ b/security/browser.py @@ -216,6 +216,10 @@ class ManageWorkspaceView(PermissionView): setPrincipalRole(wsiRM, roleName, gid, roleWSI and Allow or None) self.context.workspaceGroupNames = gn + setter = ISecuritySetter(adapted(self.parent)) + setter.propagateSecurity() + #setter = ISecuritySetter(adapted(self.context)) + #setter.propagateSecurity() @Lazy def permission_macros(self): diff --git a/security/setter.py b/security/setter.py index 5fb9cbc..8dbee95 100644 --- a/security/setter.py +++ b/security/setter.py @@ -152,6 +152,9 @@ class ConceptSecuritySetter(LoopsObjectSecuritySetter): setter.setDefaultRolePermissions() setter.acquireRolePermissions() setter.copyPrincipalRoles(self, revert) + wi = baseObject(self.context).workspaceInformation + if wi: + setter.copyPrincipalRoles(ISecuritySetter(wi), revert) setter.propagateSecurity(revert, updated) def propagateSecurity(self, revert=False, updated=None):