summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaladox none <thomasmulhall410@yahoo.com>2018-10-05 23:17:03 +0000
committerPaladox none <thomasmulhall410@yahoo.com>2018-10-08 20:44:24 +0000
commit3e05704f5bbfd9e56f7e0fc9e8dfd996bc4b4f34 (patch)
treedb7098842d8b869b29faf86002cf0ce9788ae09b
parent1a882e7b0da8f11086f95e81f85430053d001230 (diff)
Fix support for setting owner of group to a single user
Bug: Issue 9655 Change-Id: I3c9a7443e1fc1a4d70479c2f26c6a794612d03c7 (cherry picked from commit e74925fa8b3709d4589b3489b0793912ef4d7bbf)
-rw-r--r--polygerrit-ui/app/elements/admin/gr-group/gr-group.html2
-rw-r--r--polygerrit-ui/app/elements/admin/gr-group/gr-group.js11
-rw-r--r--polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html10
3 files changed, 20 insertions, 3 deletions
diff --git a/polygerrit-ui/app/elements/admin/gr-group/gr-group.html b/polygerrit-ui/app/elements/admin/gr-group/gr-group.html
index 33866d3328..c2743b716e 100644
--- a/polygerrit-ui/app/elements/admin/gr-group/gr-group.html
+++ b/polygerrit-ui/app/elements/admin/gr-group/gr-group.html
@@ -87,7 +87,9 @@ limitations under the License.
<fieldset>
<span class="value">
<gr-autocomplete
+ id="groupOwnerInput"
text="{{_groupConfig.owner}}"
+ value="{{_groupConfigOwner}}"
query="[[_query]]"
disabled="[[_computeGroupDisabled(_groupOwner, _isAdmin)]]">
</gr-autocomplete>
diff --git a/polygerrit-ui/app/elements/admin/gr-group/gr-group.js b/polygerrit-ui/app/elements/admin/gr-group/gr-group.js
index d975675920..a5f875735e 100644
--- a/polygerrit-ui/app/elements/admin/gr-group/gr-group.js
+++ b/polygerrit-ui/app/elements/admin/gr-group/gr-group.js
@@ -58,6 +58,7 @@
},
/** @type {?} */
_groupConfig: Object,
+ _groupConfigOwner: String,
_groupName: Object,
_groupOwner: {
type: Boolean,
@@ -83,7 +84,7 @@
observers: [
'_handleConfigName(_groupConfig.name)',
- '_handleConfigOwner(_groupConfig.owner)',
+ '_handleConfigOwner(_groupConfig.owner, _groupConfigOwner)',
'_handleConfigDescription(_groupConfig.description)',
'_handleConfigOptions(_groupConfig.options.visible_to_all)',
],
@@ -143,8 +144,12 @@
},
_handleSaveOwner() {
+ let owner = this._groupConfig.owner;
+ if (this._groupConfigOwner) {
+ owner = decodeURIComponent(this._groupConfigOwner);
+ }
return this.$.restAPI.saveGroupOwner(this.groupId,
- this._groupConfig.owner).then(config => {
+ owner).then(config => {
this._owner = false;
});
},
@@ -202,7 +207,7 @@
if (!response.hasOwnProperty(key)) { continue; }
groups.push({
name: key,
- value: response[key],
+ value: decodeURIComponent(response[key].id),
});
}
return groups;
diff --git a/polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html b/polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html
index 16a62617a0..7789cd59ba 100644
--- a/polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-group/gr-group_test.html
@@ -86,6 +86,7 @@ limitations under the License.
element._groupConfig = {
name: groupName,
};
+ element._groupConfigOwner = 'testId';
element._groupName = groupName;
element._groupOwner = true;
@@ -105,6 +106,8 @@ limitations under the License.
element.$.groupNameInput.text = groupName2;
+ element.$.groupOwnerInput.text = 'testId2';
+
assert.isFalse(button.hasAttribute('disabled'));
assert.isTrue(element.$.groupName.classList.contains('edited'));
@@ -114,6 +117,13 @@ limitations under the License.
assert.equal(element._groupName, groupName2);
done();
});
+
+ element._handleSaveOwner().then(() => {
+ assert.isTrue(button.hasAttribute('disabled'));
+ assert.isFalse(element.$.Title.classList.contains('edited'));
+ assert.equal(element._groupConfigOwner, 'testId2');
+ done();
+ });
});
});