diff --git a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.html b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.html
index c2b28d5e04..529e14c2af 100644
--- a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.html
+++ b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.html
@@ -109,7 +109,8 @@ limitations under the License.
permission="{{permission}}"
labels="[[labels]]"
section="[[section.id]]"
- editing="[[editing]]">
+ editing="[[editing]]"
+ groups="[[groups]]">
diff --git a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.js b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.js
index 16e6207d3b..07a7a629f2 100644
--- a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.js
+++ b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.js
@@ -33,6 +33,7 @@
notify: true,
observer: '_sectionChanged',
},
+ groups: Object,
labels: Object,
editing: {
type: Boolean,
diff --git a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.html b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.html
index 1dfb06c8fa..31171f7c63 100644
--- a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.html
+++ b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.html
@@ -92,7 +92,8 @@ limitations under the License.
diff --git a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.js b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.js
index 97d4fe5573..b99327ce25 100644
--- a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.js
+++ b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission.js
@@ -28,6 +28,7 @@
observer: '_sortPermission',
notify: true,
},
+ groups: Object,
section: String,
editing: {
type: Boolean,
@@ -129,6 +130,11 @@
return groups;
},
+ _computeGroupName(groups, groupId) {
+ return groups && groups[groupId] && groups[groupId].name ?
+ groups[groupId].name : groupId;
+ },
+
_getGroupSuggestions() {
return this.$.restAPI.getSuggestedGroups(
this._groupFilter,
diff --git a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.html b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.html
index 3c229d10e3..73eac54adb 100644
--- a/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-permission/gr-permission_test.html
@@ -158,6 +158,14 @@ limitations under the License.
'editing deleted');
});
+ test('_computeGroupName', () => {
+ const groups = {
+ abc123: {name: 'test group'},
+ bcd234: {},
+ };
+ assert.equal(element._computeGroupName(groups, 'abc123'), 'test group');
+ assert.equal(element._computeGroupName(groups, 'bcd234'), 'bcd234');
+ });
test('_computeGroupsWithRules', () => {
const rules = [
diff --git a/polygerrit-ui/app/elements/admin/gr-project-access/gr-project-access.html b/polygerrit-ui/app/elements/admin/gr-project-access/gr-project-access.html
index d7767637d0..686aa10a54 100644
--- a/polygerrit-ui/app/elements/admin/gr-project-access/gr-project-access.html
+++ b/polygerrit-ui/app/elements/admin/gr-project-access/gr-project-access.html
@@ -40,7 +40,8 @@ limitations under the License.
capabilities="[[_capabilities]]"
section="{{section}}"
labels="[[_labels]]"
- editing="[[_editing]]">
+ editing="[[_editing]]"
+ groups="[[_groups]]">
Rights Inherit From
diff --git a/polygerrit-ui/app/elements/admin/gr-project-access/gr-project-access.js b/polygerrit-ui/app/elements/admin/gr-project-access/gr-project-access.js
index 6f04a113a1..8e1b1f5393 100644
--- a/polygerrit-ui/app/elements/admin/gr-project-access/gr-project-access.js
+++ b/polygerrit-ui/app/elements/admin/gr-project-access/gr-project-access.js
@@ -24,6 +24,7 @@
},
_capabilities: Object,
+ _groups: Object,
/** @type {?} */
_inheritsFrom: Object,
_labels: Object,
@@ -54,6 +55,7 @@
promises.push(this.$.restAPI.getProjectAccessRights(project).then(res => {
this._inheritsFrom = res.inherits_from;
this._local = res.local;
+ this._groups = res.groups;
return this.toSortedArray(this._local);
}));
diff --git a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.html b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.html
index 0a8f382d4e..18612c88da 100644
--- a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.html
+++ b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.html
@@ -16,7 +16,9 @@ limitations under the License.
+
+
@@ -64,6 +66,9 @@ limitations under the License.
#deletedContainer.deleted {
display: block;
}
+ .groupPath {
+ color: #666;
+ }
-
[[group]]
+
+ [[groupName]]
+
- [[group]] was deleted
+ [[groupName]] was deleted
Undo
diff --git a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.js b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.js
index 6f404bf489..7f1a24541b 100644
--- a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.js
+++ b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.js
@@ -57,7 +57,8 @@
type: Boolean,
value: false,
},
- group: String,
+ groupId: String,
+ groupName: String,
permission: String,
/** @type {?} */
rule: {
@@ -78,6 +79,8 @@
behaviors: [
Gerrit.AccessBehavior,
+ Gerrit.BaseUrlBehavior,
+ Gerrit.URLEncodingBehavior,
],
observers: [
@@ -107,6 +110,10 @@
return this._computeForce(permission) ? 'force' : '';
},
+ _computeGroupPath(group) {
+ return `${this.getBaseUrl()}/admin/groups/${this.encodeURL(group, true)}`;
+ },
+
_computeSectionClass(editing, deleted) {
const classList = [];
if (editing) {
diff --git a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor_test.html b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor_test.html
index 2b024198f9..3594e4ba44 100644
--- a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor_test.html
@@ -240,6 +240,12 @@ limitations under the License.
MockInteractions.tap(element.$.undoRemoveBtn);
assert.isNotOk(element.rule.value.deleted);
});
+
+ test('_computeGroupPath', () => {
+ const group = '123';
+ assert.equal(element._computeGroupPath(group),
+ `/admin/groups/123`);
+ });
});
suite('new edit rule', () => {