From c6200001b9eceaad899cc4f9878278b57b6863bf Mon Sep 17 00:00:00 2001 From: fpeters <> Date: Fri, 16 Apr 2004 13:41:16 +0000 Subject: [PATCH] =?UTF-8?q?ajout=20de=20compte=20dont=20le=20r=C3=B4le=20n?= =?UTF-8?q?'est=20pas=20"people",=20getRoles()=20parce=20que=20tout=20le?= =?UTF-8?q?=20monde=20ne=20peut=20pas=20r=C3=A9cup=C3=A9rer=20l'admin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- servers/IdentitiesServer/IdentitiesServer.py | 7 +++++++ shared/proxy/IdentitiesProxy.py | 8 ++++++++ shared/web/IdentitiesWeb.py | 3 ++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/servers/IdentitiesServer/IdentitiesServer.py b/servers/IdentitiesServer/IdentitiesServer.py index ea8fb401..3b934234 100755 --- a/servers/IdentitiesServer/IdentitiesServer.py +++ b/servers/IdentitiesServer/IdentitiesServer.py @@ -506,6 +506,12 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin, raise faults.MissingItem('Private Key for SSL') return admin.privateKeySSL + def getRoles(self): + virtualServerId = context.getVar('applicationId') + virtualServer = self.getVirtualServer(virtualServerId) + admin = virtualServer.admin + return admin.identitiesRoles + def getSymetricKey(self): virtualServerId = context.getVar('applicationId') virtualServer = self.getVirtualServer(virtualServerId) @@ -562,6 +568,7 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin, self.registerPublicMethod('getPeerNameIdentifierServiceProvider') self.registerPublicMethod('getPersonId') self.registerPublicMethod('getPrivateKeySSL') + self.registerPublicMethod('getRoles') self.registerPublicMethod('getSymetricKey') self.registerPublicMethod('getUserId') self.registerPublicMethod('getUserToken') diff --git a/shared/proxy/IdentitiesProxy.py b/shared/proxy/IdentitiesProxy.py index ac14d2f8..c1ef15d6 100644 --- a/shared/proxy/IdentitiesProxy.py +++ b/shared/proxy/IdentitiesProxy.py @@ -220,6 +220,14 @@ class IdentitiesProxy(commonIdentities.IdentitiesCommonMixin, 'getPrivateKeySSL', [serverId, getApplicationToken(), userToken]) + def getRoles(self, serverId = None): + userToken = context.getVar('userToken', default = '') + serverId = self.getServerId(serverId = serverId) + return callServer( + serverId, + 'getRoles', + [serverId, getApplicationToken(), userToken]) + def getSymetricKey(self, serverId = None): userToken = context.getVar('userToken', default = '') serverId = self.getServerId(serverId = serverId) diff --git a/shared/web/IdentitiesWeb.py b/shared/web/IdentitiesWeb.py index f24582d4..642583b2 100644 --- a/shared/web/IdentitiesWeb.py +++ b/shared/web/IdentitiesWeb.py @@ -840,7 +840,8 @@ class IdentitiesWeb(objects.ObjectsWebMixin, proxyIdentities.IdentitiesProxy): def newAccountNeededObjects(self): - peopleWeb = getWebForServerRole('people') + roles = self.getRoles() + peopleWeb = getWebForServerRole(roles[0]) if not peopleWeb.canAddObject(): return accessForbidden()