diff options
author | Dolph Mathews <dolph.mathews@gmail.com> | 2012-03-23 09:10:59 -0500 |
---|---|---|
committer | Dolph Mathews <dolph.mathews@gmail.com> | 2012-03-25 13:05:10 -0500 |
commit | 19eb80bead361814a1955d0c0f12b17de5695dbe (patch) | |
tree | d54f3cd98d57bc45540ba73f3139b2d62c8e9e79 /keystone/identity/core.py | |
parent | 79e93be5b931abfae55dc7299c0c43149b78e9e2 (diff) | |
download | keystone-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.py | 13 |
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) |