From 3e05704f5bbfd9e56f7e0fc9e8dfd996bc4b4f34 Mon Sep 17 00:00:00 2001 From: Paladox none Date: Fri, 5 Oct 2018 23:17:03 +0000 Subject: [PATCH] Fix support for setting owner of group to a single user Bug: Issue 9655 Change-Id: I3c9a7443e1fc1a4d70479c2f26c6a794612d03c7 (cherry picked from commit e74925fa8b3709d4589b3489b0793912ef4d7bbf) --- .../app/elements/admin/gr-group/gr-group.html | 2 ++ polygerrit-ui/app/elements/admin/gr-group/gr-group.js | 11 ++++++++--- .../app/elements/admin/gr-group/gr-group_test.html | 10 ++++++++++ 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.
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(); + }); }); });