Also put new task log style for backups view

This commit is contained in:
Johannes Zellner
2023-05-03 16:50:07 +02:00
parent 19e1e5861b
commit a7ea34914d
2 changed files with 64 additions and 3 deletions

View File

@@ -510,7 +510,19 @@
<div class="text-left section-header">
<h3>
{{ 'backups.schedule.title' | tr }}
<a class="btn btn-sm btn-default pull-right" ng-href="/logs.html?taskId={{cleanupBackups.taskId}}" target="_blank" uib-tooltip="{{ 'backups.logs.showLogs' | tr }}"><i class="fas fa-align-left"></i></a>
<!-- <a class="btn btn-sm btn-default pull-right" ng-href="/logs.html?taskId={{cleanupBackups.taskId}}" target="_blank" uib-tooltip="{{ 'backups.logs.showLogs' | tr }}"><i class="fas fa-align-left"></i></a> -->
<div class="btn-group btn-group-sm pull-right">
<button type="button" class="btn btn-small btn-default dropdown-toggle" ng-show="cleanupTasks.length" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" uib-tooltip="{{ 'backups.logs.showLogs' | tr }}">
<i class="fas fa-align-left"></i> <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li ng-repeat="task in cleanupTasks">
<a ng-href="/logs.html?taskId={{task.id}}" target="_blank" class="text-right">
{{ task.ts | prettyLongDate }} <i class="fa" style="margin-left: 20px" ng-class="{ 'status-active fa-check-circle': !task.active && task.success, 'fa-circle-notch fa-spin': task.active, 'status-error fa-times-circle': !task.active && !task.success }"></i>
</a>
</li>
</ul>
</div>
</h3>
</div>
@@ -544,7 +556,18 @@
<div class="text-left section-header">
<h3>
{{ 'backups.listing.title' | tr }}
<a class="btn btn-sm btn-default pull-right" ng-href="/logs.html?taskId={{createBackup.taskId}}" target="_blank" uib-tooltip="{{ 'backups.logs.showLogs' | tr }}"><i class="fas fa-align-left"></i></a>
<div class="btn-group btn-group-sm pull-right">
<button type="button" class="btn btn-small btn-default dropdown-toggle" ng-show="backupTasks.length" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" uib-tooltip="{{ 'backups.logs.showLogs' | tr }}">
<i class="fas fa-align-left"></i> <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li ng-repeat="task in backupTasks">
<a ng-href="/logs.html?taskId={{task.id}}" target="_blank" class="text-right">
{{ task.ts | prettyLongDate }} <i class="fa" style="margin-left: 20px" ng-class="{ 'status-active fa-check-circle': !task.active && task.success, 'fa-circle-notch fa-spin': task.active, 'status-error fa-times-circle': !task.active && !task.success }"></i>
</a>
</li>
</ul>
</div>
</h3>
</div>

View File

@@ -17,6 +17,8 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
$scope.backupConfig = {};
$scope.backups = [];
$scope.backupTasks = [];
$scope.cleanupTasks = [];
$scope.s3Regions = REGIONS_S3;
$scope.wasabiRegions = REGIONS_WASABI;
@@ -141,6 +143,8 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
$scope.createBackup.percent = 100; // indicates that 'result' is valid
$scope.createBackup.errorMessage = data.success ? '' : data.error.message;
getBackupTasks();
return fetchBackups();
}
@@ -174,6 +178,8 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
return;
}
getBackupTasks();
$scope.createBackup.taskId = taskId;
$scope.createBackup.updateStatus();
});
@@ -191,6 +197,7 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
}
$scope.createBackup.busy = false;
getBackupTasks();
return;
}
@@ -210,6 +217,8 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
$scope.cleanupBackups.taskId = task.id;
$scope.cleanupBackups.updateStatus();
getCleanupTasks();
});
},
@@ -219,7 +228,11 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
if (!data.active) {
$scope.cleanupBackups.busy = false;
return fetchBackups();
getCleanupTasks();
fetchBackups();
return;
}
$scope.cleanupBackups.busy = true;
@@ -242,6 +255,8 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
$scope.cleanupBackups.taskId = taskId;
$scope.cleanupBackups.updateStatus();
getCleanupTasks();
});
}
};
@@ -761,6 +776,26 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
});
}
function getBackupTasks() {
Client.getTasksByType(TASK_TYPES.TASK_BACKUP, function (error, tasks) {
if (error) return console.error(error);
if (!tasks.length) return;
$scope.backupTasks = tasks.slice(0, 10);
});
}
function getCleanupTasks() {
Client.getTasksByType(TASK_TYPES.TASK_CLEAN_BACKUPS, function (error, tasks) {
if (error) return console.error(error);
if (!tasks.length) return;
$scope.cleanupTasks = tasks.slice(0, 10);
});
}
Client.onReady(function () {
Client.memory(function (error, memory) {
if (error) console.error(error);
@@ -775,6 +810,9 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
// show backup status
$scope.createBackup.init();
$scope.cleanupBackups.init();
getBackupTasks();
getCleanupTasks();
});
});