diff --git a/awx/ui/static/js/app.js b/awx/ui/static/js/app.js index cd39d1bddd..43dc740b3b 100644 --- a/awx/ui/static/js/app.js +++ b/awx/ui/static/js/app.js @@ -989,24 +989,29 @@ var tower = angular.module('Tower', [ ' status changed to ' + data.status + ' send to ' + $location.$$url); + var urlToCheck = $location.$$url; + if (urlToCheck.indexOf("?") !== -1) { + urlToCheck = urlToCheck.substr(0, urlToCheck.indexOf("?")); + } + // this acts as a router...it emits the proper // value based on what URL the user is currently // accessing. - if ($location.$$url === '/jobs') { + if (urlToCheck === '/jobs') { $rootScope.$emit('JobStatusChange-jobs', data); - } else if (/\/jobs\/(\d)+\/stdout/.test($location.$$url) || - /\/ad_hoc_commands\/(\d)+/.test($location.$$url)) { + } else if (/\/jobs\/(\d)+\/stdout/.test(urlToCheck) || + /\/ad_hoc_commands\/(\d)+/.test(urlToCheck)) { $log.debug("sending status to standard out"); $rootScope.$emit('JobStatusChange-jobStdout', data); - } else if (/\/jobs\/(\d)+/.test($location.$$url)) { + } else if (/\/jobs\/(\d)+/.test(urlToCheck)) { $rootScope.$emit('JobStatusChange-jobDetails', data); - } else if ($location.$$url === '/home') { + } else if (urlToCheck === '/home') { $rootScope.$emit('JobStatusChange-home', data); - } else if ($location.$$url === '/portal') { + } else if (urlToCheck === '/portal') { $rootScope.$emit('JobStatusChange-portal', data); - } else if ($location.$$url === '/projects') { + } else if (urlToCheck === '/projects') { $rootScope.$emit('JobStatusChange-projects', data); - } else if (/\/inventory\/(\d)+\/manage/.test($location.$$url)) { + } else if (/\/inventory\/(\d)+\/manage/.test(urlToCheck)) { $rootScope.$emit('JobStatusChange-inventory', data); } }); diff --git a/awx/ui/static/js/controllers/Home.js b/awx/ui/static/js/controllers/Home.js index 75b4fb954a..158f8910e9 100644 --- a/awx/ui/static/js/controllers/Home.js +++ b/awx/ui/static/js/controllers/Home.js @@ -28,6 +28,25 @@ export function Home($scope, $compile, $routeParams, $rootScope, $location, $log var dataCount = 0; + $rootScope.$on('JobStatusChange-home', function () { + Rest.setUrl(GetBasePath("jobs") + "?order_by=-finished&page_size=5&finished__isnull=false"); + Rest.get() + .success(function (data) { + $scope.dashboardJobsListData = data.results; + }) + .error(function (data, status) { + ProcessErrors($scope, data, status, null, { hdr: 'Error!', msg: 'Failed to get dashboard jobs list: ' + status }); + }); + Rest.setUrl(GetBasePath("job_templates") + "?order_by=-last_job_run&page_size=5&last_job_run__isnull=false"); + Rest.get() + .success(function (data) { + $scope.dashboardJobTemplatesListData = data.results; + }) + .error(function (data, status) { + ProcessErrors($scope, data, status, null, { hdr: 'Error!', msg: 'Failed to get dashboard jobs list: ' + status }); + }); + }); + if ($scope.removeDashboardDataLoadComplete) { $scope.removeDashboardDataLoadComplete(); }