diff --git a/servers/IdentitiesServer/IdentitiesServer.py b/servers/IdentitiesServer/IdentitiesServer.py index 062e400c..04e7bb86 100755 --- a/servers/IdentitiesServer/IdentitiesServer.py +++ b/servers/IdentitiesServer/IdentitiesServer.py @@ -412,6 +412,9 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin, virtualServer.markObjectAsDirty(identity) virtualServer.markCoreAsDirty() + def getAdminIdentitiesRoles(self): + return (self.getAdminCore(check = 0).identitiesRoles) or [] + def getElectionVoteToken(self, electionId): clientToken = context.getVar('clientToken') clientId = getApplicationId(clientToken) @@ -565,6 +568,7 @@ class IdentitiesServer(commonIdentities.IdentitiesCommonMixin, self.registerPublicMethod('checkIdentityPeerNameIdentifierIDP') self.registerPublicMethod('checkIdentityPeerNameIdentifierSP') self.registerPublicMethod('deleteUserToken') + self.registerPublicMethod('getAdminIdentitiesRoles') self.registerPublicMethod('getElectionVoteToken') self.registerPublicMethod('getLocalNameIdentifierIdentityProvider') self.registerPublicMethod('getLocalNameIdentifierServiceProvider') diff --git a/shared/common/IdentitiesCommon.py b/shared/common/IdentitiesCommon.py index f88dcbae..6beb3106 100644 --- a/shared/common/IdentitiesCommon.py +++ b/shared/common/IdentitiesCommon.py @@ -135,7 +135,7 @@ class Identity(objects.ObjectCommon): label = N_('Person') def getServerRoles(self, slot): from glasnost.proxy.IdentitiesProxy import IdentitiesProxy - return IdentitiesProxy().getAdmin().identitiesRoles + return IdentitiesProxy().getAdminIdentitiesRoles() serverRole = 'identities' diff --git a/shared/proxy/IdentitiesProxy.py b/shared/proxy/IdentitiesProxy.py index c1ef15d6..140571cd 100644 --- a/shared/proxy/IdentitiesProxy.py +++ b/shared/proxy/IdentitiesProxy.py @@ -142,6 +142,13 @@ class IdentitiesProxy(commonIdentities.IdentitiesCommonMixin, 'deleteUserToken', [serverId, getApplicationToken(), userToken]) + def getAdminIdentitiesRoles(self, serverId = None): + userToken = context.getVar('userToken', default = '') + return callServer( + serverId, + 'getAdminIdentitiesRoles', + [serverId, getApplicationToken(), userToken]) + def getDefaultAssertionConsumerServiceUrl(self, electionId): userToken = context.getVar('userToken', default = '') serverId = self.computeServerIdFromUserToken(userToken)