Fixed admin api for user roles

This commit is contained in:
Devin Carlen
2010-08-10 19:01:40 -07:00
parent 99771bd810
commit aa032cd70b
2 changed files with 13 additions and 6 deletions

View File

@@ -217,11 +217,16 @@ class NovaAdminClient(object):
""" deletes a user """
return self.apiconn.get_object('DeregisterUser', {'Name': username}, UserInfo)
def get_roles(self, project_roles=True):
"""Returns a list of available roles."""
return self.apiconn.get_list('DescribeRoles',
{'ProjectRoles': project_roles},
[('item', UserRole)])
def get_user_roles(self, user, project=None):
"""
Returns a list of roles for the given user.
Omitting project will return any global roles that the user has.
Specifying project will return only project specific roles.
"""Returns a list of roles for the given user.
Omitting project will return any global roles that the user has.
Specifying project will return only project specific roles.
"""
params = {'User':user}
if project:

View File

@@ -105,7 +105,8 @@ class AdminController(object):
@admin_only
def describe_roles(self, context, project_roles=True, **kwargs):
"""Returns a list of allowed roles."""
return manager.AuthManager().get_roles(project_roles)
roles = manager.AuthManager().get_roles(project_roles)
return { 'roles': [{'role': r} for r in roles]}
@admin_only
def describe_user_roles(self, context, user, project=None, **kwargs):
@@ -113,7 +114,8 @@ class AdminController(object):
Omitting project will return any global roles that the user has.
Specifying project will return only project specific roles.
"""
return manager.AuthManager().get_user_roles(user, project=project)
roles = manager.AuthManager().get_user_roles(user, project=project)
return { 'roles': [{'role': r} for r in roles]}
@admin_only
def modify_user_role(self, context, user, role, project=None,