diff --git a/awx/ui/static/js/controllers/JobHosts.js b/awx/ui/static/js/controllers/JobHosts.js index 07eac5f8ee..29de821821 100644 --- a/awx/ui/static/js/controllers/JobHosts.js +++ b/awx/ui/static/js/controllers/JobHosts.js @@ -87,6 +87,11 @@ function JobHostSummaryList ($scope, $rootScope, $location, $log, $routeParams, { hdr: 'Error!', msg: 'Failed to get job status for job: ' + scope.job_id + '. GET status: ' + status }); }); } + else { + if ($routeParams['inventory']) { + scope.$emit('setHostLink', $routeParams['inventory']); + } + } if (base == 'hosts' && $routeParams['host_name']) { // Make the host name appear in breadcrumbs LoadBreadCrumbs({ path: '/hosts/' + scope['host_id'], title: $routeParams['host_name'] }); diff --git a/awx/ui/static/js/helpers/inventory.js b/awx/ui/static/js/helpers/inventory.js index 303bb54f62..220a832f50 100644 --- a/awx/ui/static/js/helpers/inventory.js +++ b/awx/ui/static/js/helpers/inventory.js @@ -33,7 +33,7 @@ angular.module('InventoryHelper', [ 'RestServices', 'Utilities', 'OrganizationLi var treeData = [{ data: { - title: inventory_name + ' Inventory' + title: inventory_name + ' Inventory Groups' }, attr: { type: 'inventory', @@ -163,7 +163,6 @@ angular.module('InventoryHelper', [ 'RestServices', 'Utilities', 'OrganizationLi // Force root node styling changes $('#inventory-node ins').first().remove(); $('#inventory-node a ins').first().css('background-image', 'none').append('').css('margin-right','10px'); - $('#inventory-node a').first().css('margin-bottom', '10px'); scope.$emit('treeLoaded'); }); diff --git a/awx/ui/static/js/helpers/search.js b/awx/ui/static/js/helpers/search.js index 2cbee9d943..a27b018423 100644 --- a/awx/ui/static/js/helpers/search.js +++ b/awx/ui/static/js/helpers/search.js @@ -61,6 +61,7 @@ angular.module('SearchHelper', ['RestServices', 'Utilities', 'RefreshHelper']) scope[iterator + 'SearchValue'] = ''; scope[iterator + 'SelectShow'] = false; // show/hide the Select scope[iterator + 'HideSearchType'] = false; + scope[iterator + 'InputDisable'] = false; var f = scope[iterator + 'SearchField'] if (list.fields[f].searchType && ( list.fields[f].searchType == 'boolean' @@ -87,7 +88,7 @@ angular.module('SearchHelper', ['RestServices', 'Utilities', 'RefreshHelper']) scope[iterator + 'SearchType'] = 'icontains'; if (list.fields[fld].searchType && list.fields[fld].searchType == 'gtzero') { - scope[iterator + "InputHide"] = true; + scope[iterator + "InputDisable"] = true; } else if (list.fields[fld].searchSingleValue){ // Query a specific attribute for one specific value diff --git a/awx/ui/static/js/lists/JobHosts.js b/awx/ui/static/js/lists/JobHosts.js index 826cf93bd1..cad9fa4312 100644 --- a/awx/ui/static/js/lists/JobHosts.js +++ b/awx/ui/static/js/lists/JobHosts.js @@ -67,6 +67,14 @@ angular.module('JobHostDefinition', []) searchType: 'boolean', searchOptions: [{ name: "success", value: 0 }, { name: "error", value: 1 }] }, + failed: { + label: 'Job failed?', + searchSingleValue: true, + searchType: 'boolean', + searchValue: 'true', + searchOnly: true, + nosort: true + }, ok: { label: 'Success', searchable: false @@ -77,11 +85,15 @@ angular.module('JobHostDefinition', []) }, failures: { label: 'Failure', + searchable: true, + searchLabel: 'Contains failed events?', searchType: 'gtzero' }, dark: { label: 'Unreachable', - searchable: false + searchable: true, + searchType: 'gtzero', + searchLabel: 'Contains unreachable hosts?' }, skipped: { label: 'Skipped', diff --git a/awx/ui/static/less/ansible-ui.less b/awx/ui/static/less/ansible-ui.less index 72578f6360..64761238d0 100644 --- a/awx/ui/static/less/ansible-ui.less +++ b/awx/ui/static/less/ansible-ui.less @@ -694,8 +694,8 @@ select.field-mini-height { } .badge { - padding: 3px 4px; - font-size: 11px; + padding: 2px 3px 3px 4px; + font-size: 10px; font-weight: normal; line-height: 1; } diff --git a/awx/ui/static/lib/ansible/generator-helpers.js b/awx/ui/static/lib/ansible/generator-helpers.js index fef745d5a1..c1d1e98e39 100644 --- a/awx/ui/static/lib/ansible/generator-helpers.js +++ b/awx/ui/static/lib/ansible/generator-helpers.js @@ -507,8 +507,15 @@ angular.module('GeneratorHelpers', ['GeneratorHelpers']) for ( var fld in form.fields) { if (form.fields[fld].searchable == undefined || form.fields[fld].searchable == true) { html += "