From bec9cc73cda17d6f212c0a35f39cff533e810184 Mon Sep 17 00:00:00 2001 From: Chris Houseknecht Date: Tue, 19 Aug 2014 16:09:50 -0400 Subject: [PATCH] Job detail page Fix for https://trello.com/c/uGFQjYn0/323-host-event-order-differs-between-host-events-list-and-host-event-dialog --- awx/ui/static/js/controllers/JobDetail.js | 3 ++- awx/ui/static/js/helpers/EventViewer.js | 2 +- awx/ui/static/js/helpers/JobDetail.js | 25 ++++++++++++++++++----- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/awx/ui/static/js/controllers/JobDetail.js b/awx/ui/static/js/controllers/JobDetail.js index f12c7871fb..b2182db867 100644 --- a/awx/ui/static/js/controllers/JobDetail.js +++ b/awx/ui/static/js/controllers/JobDetail.js @@ -245,7 +245,7 @@ function JobDetailController ($location, $rootScope, $scope, $compile, $routePar if (play && task) { url = scope.job.related.job_events + '?parent=' + task.id + '&'; - url += 'event__startswith=runner&page_size=' + scope.hostResultsMaxRows + '&order=host_name'; + url += 'event__startswith=runner&page_size=' + scope.hostResultsMaxRows + '&order=host_name,counter'; Rest.setUrl(url); Rest.get() @@ -309,6 +309,7 @@ function JobDetailController ($location, $rootScope, $scope, $compile, $routePar name: event.event_data.host, created: event.created, msg: msg, + counter: counter, item: item }; } diff --git a/awx/ui/static/js/helpers/EventViewer.js b/awx/ui/static/js/helpers/EventViewer.js index 07ce0e73fa..56aedb5b63 100644 --- a/awx/ui/static/js/helpers/EventViewer.js +++ b/awx/ui/static/js/helpers/EventViewer.js @@ -254,7 +254,7 @@ angular.module('EventViewerHelper', ['ModalDialog', 'Utilities', 'EventsViewerFo }); url += (/\/$/.test(url)) ? '?' : '&'; - url += (parent_id) ? 'parent=' + parent_id + '&page_size=50&order=host_name' : 'page_size=50&order=host_name'; + url += (parent_id) ? 'parent=' + parent_id + '&page_size=50&order=host_name,counter' : 'page_size=50&order=host_name,counter'; GetEvent({ url: url, diff --git a/awx/ui/static/js/helpers/JobDetail.js b/awx/ui/static/js/helpers/JobDetail.js index 64b363c5a0..76b86e751d 100644 --- a/awx/ui/static/js/helpers/JobDetail.js +++ b/awx/ui/static/js/helpers/JobDetail.js @@ -97,6 +97,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge created: event.created, modified: event.modified, message: msg, + counter: event.counter, item: (event.event_data && event.event_data.res) ? event.event_data.res.item : '' }); break; @@ -124,6 +125,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge created: event.created, modified: event.modified, message: msg, + counter: event.counter, item: (event.event_data && event.event_data.res) ? event.event_data.res.item : '' }); break; @@ -141,6 +143,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge created: event.created, modified: event.modified, message: msg, + counter: event.counter, item: (event.event_data && event.event_data.res) ? event.event_data.res.item : '' }); break; @@ -168,6 +171,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge created: event.created, modified: event.modified, message: msg, + counter: event.counter, item: (event.event_data && event.event_data.res) ? event.event_data.res.item : '' }); } @@ -481,6 +485,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge created = params.created, msg = params.message, item = params.item, + counter = params.counter, h, host; /* @@ -551,6 +556,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge status: status, name: name, created: created, + counter: counter, message: msg, item: item }); @@ -566,6 +572,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge event_id = params.event_id, status = params.status, created = params.created, + counter = params.counter, name = params.name, msg = params.message, item = params.item, @@ -610,6 +617,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge task_id: task_id, name: name, created: created, + counter: counter, msg: msg, item: item }; @@ -956,7 +964,7 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge url = scope.job.related.job_events + '?parent=' + scope.selectedTask + '&'; url += (scope.search_host_name) ? 'host__name__icontains=' + scope.search_host_name + '&' : ''; url += (scope.search_host_status === 'failed') ? 'failed=true&' : ''; - url += 'event__startswith=runner&page_size=' + scope.hostResultsMaxRows + '&order=host_name'; + url += 'event__startswith=runner&page_size=' + scope.hostResultsMaxRows + '&order=host_name,counter'; scope.hostResultsLoading = true; Rest.setUrl(url); Rest.get() @@ -1374,10 +1382,17 @@ function($rootScope, $log, UpdatePlayStatus, UpdateHostStatus, AddHostResult, Ge } keys = Object.keys(filteredListB); keys.sort(function compare(a, b) { - if (filteredListB[a].name < filteredListB[b].name) - return -1; - if (filteredListB[a].name > filteredListB[b].name) - return 1; + if (filteredListB[a].name === filteredListB[b].name) { + if (filteredListB[a].counter < filteredListB[b].counter) + return -1; + if (filteredListB[a].counter >filteredListB[b].counter) + return 1; + } else { + if (filteredListB[a].name < filteredListB[b].name) + return -1; + if (filteredListB[a].name > filteredListB[b].name) + return 1; + } // a must be equal to b return 0; });