From 7cf0523561a72d597450b14f56fa1592e3b9743c Mon Sep 17 00:00:00 2001 From: Kersom <9053044+nixocio@users.noreply.github.com> Date: Mon, 21 Feb 2022 15:53:32 -0500 Subject: [PATCH] Display roles for organization listed when using non-English web browser (#11762) Display roles for organization listed when using non-English web browser --- .../ResourceAccessList/ResourceAccessList.js | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/awx/ui/src/components/ResourceAccessList/ResourceAccessList.js b/awx/ui/src/components/ResourceAccessList/ResourceAccessList.js index e4892e0371..0817928fbd 100644 --- a/awx/ui/src/components/ResourceAccessList/ResourceAccessList.js +++ b/awx/ui/src/components/ResourceAccessList/ResourceAccessList.js @@ -56,31 +56,29 @@ function ResourceAccessList({ apiModel, resource }) { let orgRoles; if (location.pathname.includes('/organizations')) { - const { - data: { results: roles }, - } = await RolesAPI.read({ content_type__isnull: true }); - const sysAdmin = roles.filter( - (role) => role.name === 'System Administrator' - ); - const sysAud = roles.filter((role) => { - let auditor; - if (role.name === 'System Auditor') { - auditor = role.id; - } - return auditor; - }); + const [ + { + data: { results: systemAdmin }, + }, + { + data: { results: systemAuditor }, + }, + ] = await Promise.all([ + RolesAPI.read({ singleton_name: 'system_administrator' }), + RolesAPI.read({ singleton_name: 'system_auditor' }), + ]); - orgRoles = Object.values(resource.summary_fields.object_roles).map( - (opt) => { - let item; - if (opt.name === 'Admin') { - item = [`${opt.id}, ${sysAdmin[0].id}`, opt.name]; - } else if (sysAud[0].id && opt.name === 'Auditor') { - item = [`${sysAud[0].id}, ${opt.id}`, opt.name]; - } else { - item = [`${opt.id}`, opt.name]; + orgRoles = Object.entries(resource.summary_fields.object_roles).map( + ([key, value]) => { + if (key === 'admin_role') { + return [`${value.id}, ${systemAdmin[0].id}`, value.name]; } - return item; + + if (key === 'auditor_role') { + return [`${value.id}, ${systemAuditor[0].id}`, value.name]; + } + + return [`${value.id}`, value.name]; } ); }