summaryrefslogtreecommitdiffstats
path: root/keystone/identity/core.py
diff options
context:
space:
mode:
authorDolph Mathews <dolph.mathews@gmail.com>2012-03-23 09:10:59 -0500
committerDolph Mathews <dolph.mathews@gmail.com>2012-03-25 13:05:10 -0500
commit19eb80bead361814a1955d0c0f12b17de5695dbe (patch)
treed54f3cd98d57bc45540ba73f3139b2d62c8e9e79 /keystone/identity/core.py
parent79e93be5b931abfae55dc7299c0c43149b78e9e2 (diff)
downloadkeystone-19eb80bead361814a1955d0c0f12b17de5695dbe.tar.gz
keystone-19eb80bead361814a1955d0c0f12b17de5695dbe.tar.xz
keystone-19eb80bead361814a1955d0c0f12b17de5695dbe.zip
role-crud 404 (bug 963056)
role-get role-delete role-list Change-Id: I099b1e1e5bd2cd77a2ea3b72fb0f14b88a3af26e
Diffstat (limited to 'keystone/identity/core.py')
-rw-r--r--keystone/identity/core.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/keystone/identity/core.py b/keystone/identity/core.py
index a99671d6..f8af897f 100644
--- a/keystone/identity/core.py
+++ b/keystone/identity/core.py
@@ -425,7 +425,15 @@ class RoleController(wsgi.Application):
"""
if tenant_id is None:
raise exception.NotImplemented(message='User roles not supported: '
- 'tenant_id required')
+ 'tenant ID required')
+
+ user = self.identity_api.get_user(context, user_id)
+ if user is None:
+ raise exception.UserNotFound(user_id=user_id)
+ tenant = self.identity_api.get_tenant(context, tenant_id)
+ if tenant is None:
+ raise exception.TenantNotFound(tenant_id=tenant_id)
+
roles = self.identity_api.get_roles_for_user_and_tenant(
context, user_id, tenant_id)
return {'roles': [self.identity_api.get_role(context, x)
@@ -449,7 +457,8 @@ class RoleController(wsgi.Application):
def delete_role(self, context, role_id):
self.assert_admin(context)
- role_ref = self.identity_api.delete_role(context, role_id)
+ self.get_role(context, role_id)
+ self.identity_api.delete_role(context, role_id)
def get_roles(self, context):
self.assert_admin(context)