Refactors _get_names_from_role_assignments
The method _get_names_from_role_assignments is refactored to start building up the assignment including names from a copy of the original assignment (without names). That way, key/value pairs that are just copied over (such as inheritance attribute) do not need to be analyzed anymore. When iterating over the key/value pairs of the original assignment, it was naming them as id_type/id_. That naming could be better, as pointed out in reviews on [1]. They have been simply renamed to key/value. [1] https://review.openstack.org/#/c/380973 Change-Id: If377f046a7ae8061f88a1d3d526b564b21645bcc
This commit is contained in:
parent
b4aa883bcb
commit
76b1110f57
|
@ -947,47 +947,40 @@ class Manager(manager.Manager):
|
|||
role_assign_list = []
|
||||
|
||||
for role_asgmt in role_assignments:
|
||||
new_assign = {}
|
||||
for id_type, id_ in role_asgmt.items():
|
||||
if id_type == 'domain_id':
|
||||
_domain = self.resource_api.get_domain(id_)
|
||||
new_assign['domain_id'] = _domain['id']
|
||||
new_assign = copy.deepcopy(role_asgmt)
|
||||
for key, value in role_asgmt.items():
|
||||
if key == 'domain_id':
|
||||
_domain = self.resource_api.get_domain(value)
|
||||
new_assign['domain_name'] = _domain['name']
|
||||
elif id_type == 'user_id':
|
||||
_user = self.identity_api.get_user(id_)
|
||||
new_assign['user_id'] = _user['id']
|
||||
elif key == 'user_id':
|
||||
_user = self.identity_api.get_user(value)
|
||||
new_assign['user_name'] = _user['name']
|
||||
new_assign['user_domain_id'] = _user['domain_id']
|
||||
new_assign['user_domain_name'] = (
|
||||
self.resource_api.get_domain(_user['domain_id'])
|
||||
['name'])
|
||||
elif id_type == 'group_id':
|
||||
_group = self.identity_api.get_group(id_)
|
||||
new_assign['group_id'] = _group['id']
|
||||
elif key == 'group_id':
|
||||
_group = self.identity_api.get_group(value)
|
||||
new_assign['group_name'] = _group['name']
|
||||
new_assign['group_domain_id'] = _group['domain_id']
|
||||
new_assign['group_domain_name'] = (
|
||||
self.resource_api.get_domain(_group['domain_id'])
|
||||
['name'])
|
||||
elif id_type == 'project_id':
|
||||
_project = self.resource_api.get_project(id_)
|
||||
new_assign['project_id'] = _project['id']
|
||||
elif key == 'project_id':
|
||||
_project = self.resource_api.get_project(value)
|
||||
new_assign['project_name'] = _project['name']
|
||||
new_assign['project_domain_id'] = _project['domain_id']
|
||||
new_assign['project_domain_name'] = (
|
||||
self.resource_api.get_domain(_project['domain_id'])
|
||||
['name'])
|
||||
elif id_type == 'role_id':
|
||||
_role = self.role_api.get_role(id_)
|
||||
new_assign['role_id'] = _role['id']
|
||||
elif key == 'role_id':
|
||||
_role = self.role_api.get_role(value)
|
||||
new_assign['role_name'] = _role['name']
|
||||
if _role['domain_id'] is not None:
|
||||
new_assign['role_domain_id'] = _role['domain_id']
|
||||
new_assign['role_domain_name'] = (
|
||||
self.resource_api.get_domain(_role['domain_id'])
|
||||
['name'])
|
||||
elif id_type == 'inherited_to_projects':
|
||||
new_assign['inherited_to_projects'] = id_
|
||||
role_assign_list.append(new_assign)
|
||||
return role_assign_list
|
||||
|
||||
|
|
Loading…
Reference in New Issue