Skip to content

Commit

Permalink
Use taskListProvider for polling for discovery results
Browse files Browse the repository at this point in the history
  • Loading branch information
iNecas committed Jan 15, 2014
1 parent 8134292 commit 54fd9f4
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
* Provides the functionality for the repo discovery action pane.
*/
angular.module('Bastion.products').controller('DiscoveryController',
['$scope', '$q', '$timeout', '$http', 'Task', 'Organization', 'CurrentOrganization',
function ($scope, $q, $timeout, $http, Task, Organization, CurrentOrganization) {
['$scope', '$q', '$timeout', '$http', 'taskListProvider', 'Organization', 'CurrentOrganization',
function ($scope, $q, $timeout, $http, taskListProvider, Organization, CurrentOrganization) {
var transformRows, setDiscoveryDetails;

$scope.discovery = {url: ''};
Expand Down Expand Up @@ -92,24 +92,21 @@ angular.module('Bastion.products').controller('DiscoveryController',
}
});

$scope.updateTask = function (task) {
setDiscoveryDetails(task);
if(!task.pending) {
taskListProvider.unregisterScope($scope);
}
}

$scope.discover = function () {
$scope.discovery.pending = true;
$scope.discoveryTable.rows = [];
$scope.discoveryTable.selectAll(false);
Organization.repoDiscover({id: CurrentOrganization, url: $scope.discovery.url}, function (response) {
pollTask(response);
Organization.repoDiscover({id: CurrentOrganization, url: $scope.discovery.url}, function (task) {
taskListProvider.registerScope($scope, { type: 'task', task_id: task.uuid })
});
};

function pollTask(task) {
if (task.pending) {
Task.poll(task, function (response) {
setDiscoveryDetails(response);
});
}
else {
setDiscoveryDetails(task);
}
}
}]
);
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,13 @@ angular.module('Bastion.systems').controller('TaskDetailsController',
$scope.transitionTo(fromState, fromParams);
};

$scope.updateTasks = function(tasks) {
var task = tasks[0];
$scope.updateTask = function(task) {
$scope.task = task;
if(!$scope.task.pending) {
taskListProvider.unregisterScope($scope);
}
}

taskListProvider.registerScope($scope, { 'type': 'task', 'task_id': taskId })
taskListProvider.registerScope($scope, { type: 'task', task_id: taskId })
}
]);
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@ angular.module('Bastion.widgets')
angular.forEach(conditionsTasks, function(conditionTasks) {
var scopes = condToScopes[JSON.stringify(conditionTasks.condition)];
angular.forEach(scopes, function(scope) {
scope.updateTasks(conditionTasks.tasks);
if(conditionTasks.condition.type == 'task') {
scope.updateTask(conditionTasks.tasks[0]);
} else {
scope.updateTasks(conditionTasks.tasks);
}
});
});
});
Expand Down

0 comments on commit 54fd9f4

Please sign in to comment.