diff --git a/dashboard/src/js/client.js b/dashboard/src/js/client.js index 56037e4db..49cc01204 100644 --- a/dashboard/src/js/client.js +++ b/dashboard/src/js/client.js @@ -1369,6 +1369,15 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }); }; + Client.prototype.getTasksByType = function (type, callback) { + get('/api/v1/tasks?type=' + type, null, function (error, data, status) { + if (error) return callback(error); + if (status !== 200) return callback(new ClientError(status, data)); + + callback(null, data.tasks); + }); + }; + Client.prototype.getTask = function (taskId, callback) { get('/api/v1/tasks/' + taskId, null, function (error, data, status) { if (error) return callback(error); diff --git a/dashboard/src/views/domains.html b/dashboard/src/views/domains.html index 36cd695e8..395bd4ba6 100644 --- a/dashboard/src/views/domains.html +++ b/dashboard/src/views/domains.html @@ -353,7 +353,18 @@

{{ 'domains.renewCerts.title' | tr }} - +

diff --git a/dashboard/src/views/domains.js b/dashboard/src/views/domains.js index 7b1287855..7c6c7f415 100644 --- a/dashboard/src/views/domains.js +++ b/dashboard/src/views/domains.js @@ -490,15 +490,17 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat message: '', errorMessage: '', taskId: '', + tasks: [], checkStatus: function () { - Client.getLatestTaskByType(TASK_TYPES.TASK_CHECK_CERTS, function (error, task) { + Client.getTasksByType(TASK_TYPES.TASK_CHECK_CERTS, function (error, tasks) { if (error) return console.error(error); - if (!task) return; + if (!tasks.length) return; - $scope.renewCerts.taskId = task.id; - $scope.renewCerts.updateStatus(); + $scope.renewCerts.tasks = tasks.slice(0, 10); + + $scope.renewCerts.taskId = tasks[0].id; }); }, @@ -512,6 +514,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat $scope.renewCerts.percent = 100; // indicates that 'result' is valid $scope.renewCerts.errorMessage = data.success ? '' : data.error.message; + $scope.renewCerts.checkStatus(); + return; } @@ -538,6 +542,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat } else { $scope.renewCerts.taskId = taskId; $scope.renewCerts.updateStatus(); + $scope.renewCerts.checkStatus(); } }); }