From a3a44a42d8a0dbaaa4fb55c793dd1857c1329414 Mon Sep 17 00:00:00 2001 From: helmutm Date: Sat, 13 Nov 2010 10:35:03 +0000 Subject: [PATCH] add security audit view: Workspace Assignments git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@4073 fd906abe-77d9-0310-91a1-e0d9ade77398 --- security/browser/audit.pt | 20 ++++++++++++++++++-- security/browser/audit.py | 24 ++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/security/browser/audit.pt b/security/browser/audit.pt index 5c2305d..f3ad19c 100644 --- a/security/browser/audit.pt +++ b/security/browser/audit.pt @@ -51,8 +51,24 @@ - blubb + + + + + + + + +
Person +
+ +
- \ No newline at end of file + diff --git a/security/browser/audit.py b/security/browser/audit.py index 6ace1b1..e9ff495 100644 --- a/security/browser/audit.py +++ b/security/browser/audit.py @@ -107,3 +107,27 @@ class WorkspaceAssignments(BaseSecurityView): def macro(self): return self.template.macros['workspace_assignments'] + @Lazy + def workspacePrediactes(self): + result = [self.conceptManager.get(p) + for p in ('isowner', 'ismaster', 'ismember')] + return [p for p in result if p is not None] + + @Lazy + def workspaces(self): + typeNames = self.options('workspace') + if typeNames: + type = self.conceptManager.get(typeNames[0]) + return type.getChildren([self.typePredicate]) + return [] + + @Lazy + def persons(self): + tPerson = self.conceptManager['person'] + return tPerson.getChildren([self.typePredicate]) + + def getAssignments(self, person): + rels = [] + for ws in self.workspaces: + rels.append(ws.getChildRelations(self.workspacePrediactes, person)) + return [', '.join([r.predicate.title for r in prels]) for prels in rels]