Files
cloudron-box/src/views/activity.js

113 lines
4.3 KiB
JavaScript
Raw Normal View History

2018-01-22 13:01:38 -08:00
'use strict';
/* global angular:false */
/* global $:false */
2018-01-22 13:01:38 -08:00
angular.module('Application').controller('ActivityController', ['$scope', '$location', 'Client', function ($scope, $location, Client) {
2018-08-03 10:09:04 -07:00
Client.onReady(function () { if (!Client.getUserInfo().admin) $location.path('/'); });
2018-01-22 13:01:38 -08:00
$scope.config = Client.getConfig();
$scope.busy = false;
$scope.eventLogs = [];
$scope.activeEventLog = null;
2018-01-22 13:01:38 -08:00
// TODO sync this with the eventlog filter
$scope.actions = [
2018-02-20 11:13:51 -08:00
{ name: '-- All app events --', value: 'app.' },
{ name: '-- All user events --', value: 'user.' },
2018-01-22 13:01:38 -08:00
{ name: 'app.configure', value: 'app.configure' },
{ name: 'app.install', value: 'app.install' },
{ name: 'app.restore', value: 'app.restore' },
{ name: 'app.uninstall', value: 'app.uninstall' },
{ name: 'app.update', value: 'app.update' },
2019-09-26 20:13:24 -07:00
{ name: 'app.update.finish', value: 'app.update.finish' },
2018-01-22 13:01:38 -08:00
{ name: 'app.login', value: 'app.login' },
2019-01-17 15:49:53 +01:00
{ name: 'app.oom', value: 'app.oom' },
2019-02-11 12:34:06 -08:00
{ name: 'app.down', value: 'app.down' },
2019-02-11 13:03:12 -08:00
{ name: 'app.up', value: 'app.up' },
2019-01-19 15:53:49 +01:00
{ name: 'Apptask Crash', value: 'app.task.crash' },
2019-01-14 09:29:00 -08:00
{ name: 'backup.cleanup', value: 'backup.cleanup.start' },
{ name: 'backup.cleanup.finish', value: 'backup.cleanup.finish' },
2018-01-22 13:01:38 -08:00
{ name: 'backup.finish', value: 'backup.finish' },
{ name: 'backup.start', value: 'backup.start' },
2018-11-14 20:37:58 -08:00
{ name: 'certificate.new', value: 'certificate.new' },
2018-01-22 13:01:38 -08:00
{ name: 'certificate.renew', value: 'certificate.renew' },
2018-02-20 11:13:51 -08:00
{ name: 'cloudron.activate', value: 'cloudron.activate' },
2018-11-10 01:34:50 -08:00
{ name: 'cloudron.provision', value: 'cloudron.provision' },
{ name: 'cloudron.restore', value: 'cloudron.restore' },
2018-01-22 13:01:38 -08:00
{ name: 'cloudron.start', value: 'cloudron.start' },
{ name: 'cloudron.update', value: 'cloudron.update' },
2019-09-26 20:13:24 -07:00
{ name: 'cloudron.update.finish', value: 'cloudron.update.finish' },
2019-02-04 20:24:23 -08:00
{ name: 'dashboard.domain.update', value: 'dashboard.domain.update' },
2019-01-14 09:29:00 -08:00
{ name: 'dyndns.update', value: 'dyndns.update' },
2018-11-10 01:09:06 -08:00
{ name: 'domain.add', value: 'domain.add' },
{ name: 'domain.update', value: 'domain.update' },
{ name: 'domain.remove', value: 'domain.remove' },
2018-11-10 00:32:37 -08:00
{ name: 'mail.enabled', value: 'mail.enabled' },
{ name: 'mail.box.add', value: 'mail.box.add' },
{ name: 'mail.box.remove', value: 'mail.box.remove' },
{ name: 'mail.list.add', value: 'mail.list.add' },
{ name: 'mail.list.remove', value: 'mail.list.remove' },
2018-01-22 13:01:38 -08:00
{ name: 'user.add', value: 'user.add' },
{ name: 'user.login', value: 'user.login' },
{ name: 'user.remove', value: 'user.remove' },
2018-07-05 13:54:05 -07:00
{ name: 'user.transfer', value: 'user.transfer' },
2019-01-19 15:53:49 +01:00
{ name: 'user.update', value: 'user.update' },
{ name: 'System Crash', value: 'system.crash' }
2018-01-22 13:01:38 -08:00
];
$scope.pageItemCount = [
{ name: 'Show 20 per page', value: 20 },
{ name: 'Show 50 per page', value: 50 },
{ name: 'Show 100 per page', value: 100 }
];
$scope.currentPage = 1;
$scope.pageItems = $scope.pageItemCount[0];
$scope.action = '';
$scope.selectedActions = [];
2018-01-22 13:01:38 -08:00
$scope.search = '';
function fetchEventLogs() {
$scope.busy = true;
var actions = $scope.selectedActions.map(function (a) { return a.value; }).join(', ');
2018-01-22 13:01:38 -08:00
Client.getEventLogs(actions, $scope.search || null, $scope.currentPage, $scope.pageItems.value, function (error, result) {
2018-01-22 13:01:38 -08:00
$scope.busy = false;
if (error) return console.error(error);
$scope.eventLogs = result;
2018-01-22 13:01:38 -08:00
});
}
$scope.showNextPage = function () {
$scope.currentPage++;
fetchEventLogs();
};
$scope.showPrevPage = function () {
if ($scope.currentPage > 1) $scope.currentPage--;
else $scope.currentPage = 1;
fetchEventLogs();
};
$scope.updateFilter = function (fresh) {
if (fresh) $scope.currentPage = 1;
fetchEventLogs();
};
$scope.showEventLogDetails = function (eventLog) {
if ($scope.activeEventLog === eventLog) $scope.activeEventLog = null;
else $scope.activeEventLog = eventLog;
};
2018-01-22 13:01:38 -08:00
Client.onReady(function () {
fetchEventLogs();
});
$('.modal-backdrop').remove();
}]);