// 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'; Polymer({ is: 'gr-group-audit-log', properties: { groupId: Object, _auditLog: Object, _loading: { type: Boolean, value: true, }, }, behaviors: [ Gerrit.ListViewBehavior, ], attached() { this.fire('title-change', {title: 'Audit Log'}); }, ready() { this._getAuditLogs(); }, _getAuditLogs() { if (!this.groupId) { return ''; } return this.$.restAPI.getGroupAuditLog(this.groupId).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) { case 'ADD_GROUP': case 'ADD_USER': item = 'Added'; break; case 'REMOVE_GROUP': case 'REMOVE_USER': item = 'Removed'; break; default: item = ''; } return item; }, _getNameForUser(account) { const accountId = account._account_id ? ' (' + account._account_id + ')' : ''; if (account && account.username) { return account.username + accountId; } else if (account && account.name) { return account.name + accountId; } }, _getNameForMember(account) { if (account && account.name) { return account.name; } else if (account && account.username) { return account.username; } }, }); })();