diff --git a/src/js/client.js b/src/js/client.js index 67f4ac72c..7e07053a7 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -3061,7 +3061,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout // ---------------------------------------------- // Eventlog helpers // ---------------------------------------------- - Client.prototype.eventLogDetails = function (eventLog, redactAppDescriptor) { + Client.prototype.eventLogDetails = function (eventLog, appIdContext) { var ACTION_ACTIVATE = 'cloudron.activate'; var ACTION_PROVISION = 'cloudron.provision'; var ACTION_RESTORE = 'cloudron.restore'; @@ -3136,8 +3136,8 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout var errorMessage = data.errorMessage; var details, app; - function appName(pre, app) { - if (redactAppDescriptor) return ''; + function appName(pre, app, defaultValue) { + if (appIdContext) return defaultValue || ''; pre = pre ? (pre + ' ') : ''; @@ -3180,9 +3180,9 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout return 'Env vars ' + appName('of', app) + ' was changed'; } else if ('debugMode' in data) { // since it can be null if (data.debugMode) { - return appName('', app) + ' was placed in repair mode'; + return appName('', app, 'App') + ' was placed in repair mode'; } else { - return appName('', app) + ' was taken out of repair mode'; + return appName('', app, 'App') + ' was taken out of repair mode'; } } else if ('enableBackup' in data) { return 'Automatic backups ' + appName('of', app) + ' were ' + (data.enableBackup ? 'enabled' : 'disabled'); @@ -3228,7 +3228,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout } } - return appName('', app) + 'was re-configured'; + return appName('', app, 'App') + 'was re-configured'; } case ACTION_APP_INSTALL: @@ -3237,7 +3237,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout case ACTION_APP_RESTORE: if (!data.app) return ''; - details = appName('', data.app) + 'was restored'; + details = appName('', data.app, 'App') + ' was restored'; // older versions (<3.5) did not have these fields if (data.fromManifest) details += ' from version ' + data.fromManifest.version; if (data.toManifest) details += ' to version ' + data.toManifest.version; @@ -3246,14 +3246,14 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout case ACTION_APP_IMPORT: if (!data.app) return ''; - details = appName('', data.app) + 'was imported'; + details = appName('', data.app, 'App') + 'was imported'; if (data.toManifest) details += ' to version ' + data.toManifest.version; if (data.backupId) details += ' using backup ' + data.backupId; return details; case ACTION_APP_UNINSTALL: if (!data.app) return ''; - return appName('', data.app) + ' (package v' + data.app.manifest.version + ') was uninstalled'; + return appName('', data.app, 'App') + ' (package v' + data.app.manifest.version + ') was uninstalled'; case ACTION_APP_UPDATE: if (!data.app) return ''; @@ -3261,7 +3261,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout case ACTION_APP_UPDATE_FINISH: if (!data.app) return ''; - return appName('', data.app) + 'was updated to v' + data.app.manifest.version; + return appName('', data.app, 'App') + ' was updated to v' + data.app.manifest.version; case ACTION_APP_BACKUP: if (!data.app) return ''; @@ -3276,10 +3276,16 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout } case ACTION_APP_CLONE: - return appName('', data.newApp, 'was') + ' cloned ' + appName('from', data.oldApp) + ' using backup ' + data.backupId + ' with v' + data.oldApp.manifest.version; + if (appIdContext === data.oldAppId) { + return 'App was cloned to ' + data.newApp.fqdn + ' using backup ' + data.backupId; + } else if (appIdContext === data.appId) { + return 'App was cloned from ' + data.oldApp.fqdn + ' using backup ' + data.backupId; + } else { + return appName('', data.newApp, 'App') + ' was cloned ' + appName('from', data.oldApp) + ' using backup ' + data.backupId; + } case ACTION_APP_REPAIR: - return 'App ' + appName('', data.app) + 'was re-configured'; // re-configure of email apps is more common? + return appName('', data.app, 'App') + ' was re-configured'; // re-configure of email apps is more common? case ACTION_APP_LOGIN: { app = this.getCachedAppSync(data.appId); @@ -3289,27 +3295,27 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout case ACTION_APP_OOM: if (!data.app) return ''; - return appName('', data.app) + ' ran out of memory'; + return appName('', data.app, 'App') + ' ran out of memory'; case ACTION_APP_DOWN: if (!data.app) return ''; - return appName('', data.app) + ' is down'; + return appName('', data.app, 'App') + ' is down'; case ACTION_APP_UP: if (!data.app) return ''; - return appName('', data.app) + ' is back online'; + return appName('', data.app, 'App') + ' is back online'; case ACTION_APP_START: if (!data.app) return ''; - return appName('', data.app) + ' was started'; + return appName('', data.app, 'App') + ' was started'; case ACTION_APP_STOP: if (!data.app) return ''; - return appName('', data.app) + ' was stopped'; + return appName('', data.app, 'App') + ' was stopped'; case ACTION_APP_RESTART: if (!data.app) return ''; - return appName('', data.app) + ' was restarted'; + return appName('', data.app, 'App') + ' was restarted'; case ACTION_BACKUP_START: return 'Backup started'; diff --git a/src/views/app.js b/src/views/app.js index 0cbb375bb..053f56354 100644 --- a/src/views/app.js +++ b/src/views/app.js @@ -923,7 +923,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location' eventLogs: [], activeEventLog: null, currentPage: 1, - perPage: 30, + perPage: 15, show: function () { $scope.eventlog.refresh(); @@ -937,7 +937,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location' $scope.eventlog.eventLogs = []; result.forEach(function (e) { - $scope.eventlog.eventLogs.push({ raw: e, details: Client.eventLogDetails(e, true /* redact app descriptor */), source: Client.eventLogSource(e) }); + $scope.eventlog.eventLogs.push({ raw: e, details: Client.eventLogDetails(e, $scope.app.id), source: Client.eventLogSource(e) }); }); $scope.eventlog.busy = false;