Always poll for app status updates when an app configure view is open

This commit is contained in:
Johannes Zellner
2019-09-17 22:38:11 +02:00
parent b81f45bf47
commit ff07eb1de0
+11 -15
View File
@@ -34,7 +34,7 @@
// });
// };
angular.module('Application').controller('AppController', ['$scope', '$location', '$timeout', 'Client', function ($scope, $location, $timeout, Client) {
angular.module('Application').controller('AppController', ['$scope', '$location', '$timeout', '$interval', 'Client', function ($scope, $location, $timeout, $interval, Client) {
Client.onReady(function () { if (!Client.getUserInfo().admin) $location.path('/'); });
var appId = $location.path().slice('/app/'.length);
@@ -223,7 +223,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.location.success = true;
$scope.location.busy = false;
trackAppTask();
refreshApp();
});
}
};
@@ -329,7 +329,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.resources.success = true;
$scope.resources.busy = false;
trackAppTask();
refreshApp();
});
}
};
@@ -367,7 +367,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.email.success = true;
$scope.email.busy = false;
trackAppTask();
refreshApp();
});
}
};
@@ -453,7 +453,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
if (error) return Client.error(error);
$('#updateModal').modal('hide');
trackAppTask();
refreshApp();
});
}
};
@@ -522,7 +522,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
backup.ackRestore = false;
trackAppTask();
refreshApp();
});
}
};
@@ -704,13 +704,9 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
function trackAppTask(callback) {
callback = callback || function (error) { if (error) Client.error(error); };
Client.getApp(appId, function (error, app) {
if (error) return callback(error);
else $scope.app = app;
if ($scope.app.taskId) $timeout(trackAppTask.bind(null, callback), 2000); // not yet done
else callback();
});
// app will be refreshed on interval
if ($scope.app.taskId) $timeout(trackAppTask.bind(null, callback), 2000); // not yet done
else callback();
}
Client.onReady(function () {
@@ -720,8 +716,6 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.app = app;
if (app.taskId) trackAppTask();
asyncSeries([
fetchUsers,
fetchGroups,
@@ -740,6 +734,8 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.updates.show();
$scope.ready = true;
$interval(refreshApp, 5000);
});
});
});