diff options
Diffstat (limited to 'polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js')
-rw-r--r-- | polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js | 101 |
1 files changed, 57 insertions, 44 deletions
diff --git a/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js b/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js index 0bc9a99279..bc6a5d03b4 100644 --- a/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js +++ b/polygerrit-ui/app/elements/admin/gr-group-audit-log/gr-group-audit-log.js @@ -1,25 +1,30 @@ -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +/** + * @license + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ (function() { 'use strict'; + const GROUP_EVENTS = ['ADD_GROUP', 'REMOVE_GROUP']; + Polymer({ is: 'gr-group-audit-log', properties: { - groupId: Object, - _auditLog: Object, + groupId: String, + _auditLog: Array, _loading: { type: Boolean, value: true, @@ -39,30 +44,27 @@ }, _getAuditLogs() { - if (!this.groupId) { - return ''; - } - return this.$.restAPI.getGroupAuditLog(this.groupId).then(auditLog => { - if (!auditLog) { - this._auditLog = []; - return; - } - this._auditLog = auditLog; - this._loading = false; - }); + if (!this.groupId) { return ''; } + + const errFn = response => { + this.fire('page-error', {response}); + }; + + return this.$.restAPI.getGroupAuditLog(this.groupId, errFn) + .then(auditLog => { + if (!auditLog) { + this._auditLog = []; + return; + } + this._auditLog = auditLog; + this._loading = false; + }); }, _status(item) { return item.disabled ? 'Disabled' : 'Enabled'; }, - _computeGroupUrl(id) { - if (!id) { - return ''; - } - return this.getBaseUrl() + '/admin/groups/' + id; - }, - itemType(type) { let item; switch (type) { @@ -80,20 +82,31 @@ return item; }, - _getNameForUser(account) { - const accountId = account._account_id ? ' (' + - account._account_id + ')' : ''; - return this._getNameForMember(account) + accountId; + _isGroupEvent(type) { + return GROUP_EVENTS.indexOf(type) !== -1; }, - _getNameForMember(account) { - if (account && account.name) { - return account.name; - } else if (account && account.username) { - return account.username; - } else if (account && account.email) { - return account.email.split('@')[0]; + _computeGroupUrl(group) { + if (group && group.url && group.id) { + return Gerrit.Nav.getUrlForGroup(group.id); } + + return ''; + }, + + _getIdForUser(account) { + return account._account_id ? ' (' + account._account_id + ')' : ''; + }, + + _getNameForGroup(group) { + if (group && group.name) { + return group.name; + } else if (group && group.id) { + // The URL encoded id of the member + return decodeURIComponent(group.id); + } + + return ''; }, }); })(); |