summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2022-05-16 09:40:30 +0300
committerOrgad Shaneh <orgads@gmail.com>2022-05-17 11:57:53 +0000
commit61ccea383ddafe976501cd7f0aebe2ff6ed2002e (patch)
tree70b761b52b02895245456c2b5c7bd5ae241969f1
parentf9f77bedb46d40126cf1d0d123be90fdc06b79fb (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.ts4
-rw-r--r--polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.js7
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',