diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2022-05-16 09:40:30 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2022-05-17 11:57:53 +0000 |
commit | 61ccea383ddafe976501cd7f0aebe2ff6ed2002e (patch) | |
tree | 70b761b52b02895245456c2b5c7bd5ae241969f1 | |
parent | f9f77bedb46d40126cf1d0d123be90fdc06b79fb (diff) |
gr-access-section: Fix exception when unknown name is set
For example, if a plugin has a capability, and the plugin
was removed.
Release-Notes: skip
Change-Id: Ie726d39c9be238c4616fd38d192ec7c9c3e882b1
-rw-r--r-- | polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts | 4 | ||||
-rw-r--r-- | polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts index 48f42a4327..67acf00ffe 100644 --- a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts +++ b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts @@ -236,9 +236,9 @@ export class GrAccessSection extends PolymerElement { capabilities?: CapabilityInfoMap ): string | undefined { if (name === GLOBAL_NAME) { - return capabilities?.[permission.id].name; + return capabilities?.[permission.id]?.name; } else if (AccessPermissions[permission.id]) { - return AccessPermissions[permission.id].name; + return AccessPermissions[permission.id]?.name; } else if (permission.value.label) { let behalfOf = ''; if (permission.id.startsWith('labelAs-')) { diff --git a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js index 7182edee75..58d18fce2e 100644 --- a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js +++ b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js @@ -176,6 +176,13 @@ suite('gr-access-section tests', () => { element.capabilities), element.capabilities[permission.id].name); + permission = { + id: 'non-existent', + value: {}, + }; + assert.isUndefined(element._computePermissionName(name, permission, + element.capabilities)); + name = 'refs/for/*'; permission = { id: 'abandon', |