diff --git a/awx/ui/client/legacy-styles/ansible-ui.less b/awx/ui/client/legacy-styles/ansible-ui.less index 862bdc8b1d..18b44f3788 100644 --- a/awx/ui/client/legacy-styles/ansible-ui.less +++ b/awx/ui/client/legacy-styles/ansible-ui.less @@ -1970,7 +1970,6 @@ tr td button i { } .list-actions { - margin-bottom: 20px; text-align: left; } @@ -2239,3 +2238,11 @@ a:hover { .dropdown-menu>li>a { padding: 3px 10px; } + +#scheduled-jobs-tab .List-header { + display: none; +} + +.ui-widget { + font-family: 'Open Sans'; +} diff --git a/awx/ui/client/legacy-styles/forms.less b/awx/ui/client/legacy-styles/forms.less index 5f69f25d47..9c48a80468 100644 --- a/awx/ui/client/legacy-styles/forms.less +++ b/awx/ui/client/legacy-styles/forms.less @@ -173,7 +173,8 @@ } .Form-formGroup--fullWidth { - max-width: none; + max-width: none !important; + width: 100% !important; } .Form-formGroup--checkbox{ @@ -289,7 +290,7 @@ } .Form-dropDown { - height: 30px !important; + min-height: 30px !important; border-radius: 5px !important; border:1px solid @field-border!important; color: @field-input-text!important; @@ -564,3 +565,8 @@ input[type='radio']:checked:before { padding-right: 50px; } } + +.action_column { + float: right; + margin-bottom: 20px; +} diff --git a/awx/ui/client/src/access/addPermissions/addPermissionsList/permissionsTeams.list.js b/awx/ui/client/src/access/addPermissions/addPermissionsList/permissionsTeams.list.js index 61b1c3de46..d12b65beca 100644 --- a/awx/ui/client/src/access/addPermissions/addPermissionsList/permissionsTeams.list.js +++ b/awx/ui/client/src/access/addPermissions/addPermissionsList/permissionsTeams.list.js @@ -7,7 +7,7 @@ export default function() { return { - + searchSize: 'col-lg-12 col-md-12 col-sm-12 col-xs-12', name: 'teams', iterator: 'team', listTitleBadge: false, diff --git a/awx/ui/client/src/access/addPermissions/addPermissionsList/permissionsUsers.list.js b/awx/ui/client/src/access/addPermissions/addPermissionsList/permissionsUsers.list.js index c08c45e352..5c0513c8db 100644 --- a/awx/ui/client/src/access/addPermissions/addPermissionsList/permissionsUsers.list.js +++ b/awx/ui/client/src/access/addPermissions/addPermissionsList/permissionsUsers.list.js @@ -7,7 +7,7 @@ export default function() { return { - + searchSize: 'col-lg-12 col-md-12 col-sm-12 col-xs-12', name: 'users', iterator: 'user', title: false, diff --git a/awx/ui/client/src/access/roleList.block.less b/awx/ui/client/src/access/roleList.block.less index 0723c3451d..9b185148b0 100644 --- a/awx/ui/client/src/access/roleList.block.less +++ b/awx/ui/client/src/access/roleList.block.less @@ -37,7 +37,7 @@ border-top-left-radius: 0px; border-bottom-left-radius: 0px; border-right: 0; - max-wdith: ~"calc(100% - 23px)"; + max-width: ~"calc(100% - 23px)"; margin-right: 5px; } diff --git a/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js b/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js index c9047422f4..229c3d4271 100644 --- a/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js +++ b/awx/ui/client/src/activity-stream/streamDropdownNav/stream-dropdown-nav.directive.js @@ -21,7 +21,7 @@ export default ['templateUrl', function(templateUrl) { {label: 'Inventories', value: 'inventory'}, {label: 'Inventory Scripts', value: 'inventory_script'}, {label: 'Job Templates', value: 'job_template'}, - {label: 'Management Jobs', value: 'management_job'}, + {label: 'Jobs', value: 'job'}, {label: 'Organizations', value: 'organization'}, {label: 'Projects', value: 'project'}, {label: 'Schedules', value: 'schedule'}, diff --git a/awx/ui/client/src/bread-crumb/bread-crumb.directive.js b/awx/ui/client/src/bread-crumb/bread-crumb.directive.js index 180bce2ab9..e74ccfaaf3 100644 --- a/awx/ui/client/src/bread-crumb/bread-crumb.directive.js +++ b/awx/ui/client/src/bread-crumb/bread-crumb.directive.js @@ -1,5 +1,5 @@ export default - [ 'templateUrl', '$state', 'FeaturesService', 'ProcessErrors', 'Store', 'Empty', function(templateUrl, $state, FeaturesService, ProcessErrors, Store, Empty) { + [ 'templateUrl', '$state', 'FeaturesService', 'ProcessErrors', 'Store', 'Empty', '$log', function(templateUrl, $state, FeaturesService, ProcessErrors, Store, Empty, $log) { return { restrict: 'E', templateUrl: templateUrl('bread-crumb/bread-crumb'), @@ -75,6 +75,7 @@ export default scope.licenseType = licenseInfo ? licenseInfo.license_type : null; if (!licenseInfo) { console.warn("License info not loaded correctly"); // jshint ignore:line + $log.error("License info not loaded correctly"); } }) .catch(function (response) { diff --git a/awx/ui/client/src/dashboard/hosts/dashboard-hosts.list.js b/awx/ui/client/src/dashboard/hosts/dashboard-hosts.list.js index 7ec32008c8..169ab31c94 100644 --- a/awx/ui/client/src/dashboard/hosts/dashboard-hosts.list.js +++ b/awx/ui/client/src/dashboard/hosts/dashboard-hosts.list.js @@ -21,7 +21,7 @@ export default function(){ basePath: 'unified_jobs', label: '', iconOnly: true, - searchable: true, + searchable: false, searchType: 'select', nosort: true, searchOptions: [], diff --git a/awx/ui/client/src/forms/Credentials.js b/awx/ui/client/src/forms/Credentials.js index b31c3bed68..1b92b87e85 100644 --- a/awx/ui/client/src/forms/Credentials.js +++ b/awx/ui/client/src/forms/Credentials.js @@ -448,13 +448,15 @@ export default label: 'Role', type: 'role', noSort: true, - class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4' + class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4', + searchable: false }, team_roles: { label: 'Team Roles', type: 'team_roles', noSort: true, - class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4' + class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4', + searchable: false } } } diff --git a/awx/ui/client/src/forms/Inventories.js b/awx/ui/client/src/forms/Inventories.js index 9a4cc3bf7d..6110611265 100644 --- a/awx/ui/client/src/forms/Inventories.js +++ b/awx/ui/client/src/forms/Inventories.js @@ -185,13 +185,15 @@ export default label: 'Role', type: 'role', noSort: true, - class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4' + class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4', + noSearch: true }, team_roles: { label: 'Team Roles', type: 'team_roles', noSort: true, - class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4' + class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4', + noSearch: true } } } diff --git a/awx/ui/client/src/forms/JobTemplates.js b/awx/ui/client/src/forms/JobTemplates.js index 7a9065af2b..06ccbe6f39 100644 --- a/awx/ui/client/src/forms/JobTemplates.js +++ b/awx/ui/client/src/forms/JobTemplates.js @@ -224,41 +224,6 @@ export default text: 'Prompt on launch' } }, - labels: { - label: 'Labels', - type: 'select', - ngOptions: 'label.label for label in labelOptions track by label.value', - multiSelect: true, - addRequired: false, - editRequired: false, - dataTitle: 'Labels', - dataPlacement: 'right', - awPopOver: 'You can add labels to a job template to aid in filtering', - dataContainer: 'body' - }, - variables: { - label: 'Extra Variables', - type: 'textarea', - class: 'Form-textAreaLabel Form-formGroup--fullWidth', - rows: 6, - addRequired: false, - editRequired: false, - "default": "---", - column: 2, - awPopOver: "
Pass extra command line variables to the playbook. This is the -e or --extra-vars command line parameter " + - "for ansible-playbook. Provide key/value pairs using either YAML or JSON.
" + - "JSON:{\n" + - "YAML:
\"somevar\": \"somevalue\",
\"password\": \"magic\"
}
---\n", - dataTitle: 'Extra Variables', - dataPlacement: 'right', - dataContainer: "body", - subCheckbox: { - variable: 'ask_variables_on_launch', - text: 'Prompt on launch' - } - }, become_enabled: { label: 'Enable Privilege Escalation', type: 'checkbox', @@ -309,6 +274,42 @@ export default dataPlacement: 'right', dataTitle: "Host Config Key", dataContainer: "body" + }, + labels: { + label: 'Labels', + type: 'select', + class: 'Form-formGroup--fullWidth', + ngOptions: 'label.label for label in labelOptions track by label.value', + multiSelect: true, + addRequired: false, + editRequired: false, + dataTitle: 'Labels', + dataPlacement: 'right', + awPopOver: 'You can add labels to a job template to aid in filtering', + dataContainer: 'body' + }, + variables: { + label: 'Extra Variables', + type: 'textarea', + class: 'Form-textAreaLabel Form-formGroup--fullWidth', + rows: 6, + addRequired: false, + editRequired: false, + "default": "---", + column: 2, + awPopOver: "
somevar: somevalue
password: magic
Pass extra command line variables to the playbook. This is the -e or --extra-vars command line parameter " + + "for ansible-playbook. Provide key/value pairs using either YAML or JSON.
" + + "JSON:{\n" + + "YAML:
\"somevar\": \"somevalue\",
\"password\": \"magic\"
}
---\n", + dataTitle: 'Extra Variables', + dataPlacement: 'right', + dataContainer: "body", + subCheckbox: { + variable: 'ask_variables_on_launch', + text: 'Prompt on launch' + } } }, @@ -365,13 +366,15 @@ export default label: 'Role', type: 'role', noSort: true, - class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4' + class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4', + searchable: false }, team_roles: { label: 'Team Roles', type: 'team_roles', noSort: true, - class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4' + class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4', + searchable: false } } }, diff --git a/awx/ui/client/src/forms/Organizations.js b/awx/ui/client/src/forms/Organizations.js index ce07dfac1e..7c678e09c7 100644 --- a/awx/ui/client/src/forms/Organizations.js +++ b/awx/ui/client/src/forms/Organizations.js @@ -47,6 +47,7 @@ export default related: { permissions: { + basePath: 'organizations/:id/access_list/', awToolTip: 'Please save before assigning permissions', dataPlacement: 'top', type: 'collection', @@ -76,13 +77,15 @@ export default label: 'Role', type: 'role', noSort: true, - class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4' + class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4', + searchable: false }, team_roles: { label: 'Team Roles', type: 'team_roles', noSort: true, - class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4' + class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4', + searchable: false } } }, diff --git a/awx/ui/client/src/forms/Projects.js b/awx/ui/client/src/forms/Projects.js index 24f666c0d5..19ceab2305 100644 --- a/awx/ui/client/src/forms/Projects.js +++ b/awx/ui/client/src/forms/Projects.js @@ -243,13 +243,15 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition']) label: 'Role', type: 'role', noSort: true, - class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4' + class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4', + noSearch: true }, team_roles: { label: 'Team Roles', type: 'team_roles', noSort: true, - class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4' + class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4', + noSearch: true } } }, diff --git a/awx/ui/client/src/forms/Teams.js b/awx/ui/client/src/forms/Teams.js index 3bea1a81cb..5be609d002 100644 --- a/awx/ui/client/src/forms/Teams.js +++ b/awx/ui/client/src/forms/Teams.js @@ -90,19 +90,23 @@ export default label: 'Role', type: 'role', noSort: true, - class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4' + class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4', + searchable: false }, team_roles: { label: 'Team Roles', type: 'team_roles', noSort: true, - class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4' + class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4', + searchable: false } } }, roles: { + hideSearchAndActions: true, dataPlacement: 'top', awToolTip: 'Please save before assigning permissions', + basePath: 'teams/:id/roles/', type: 'collection', title: 'Permissions', iterator: 'role', diff --git a/awx/ui/client/src/forms/Users.js b/awx/ui/client/src/forms/Users.js index f1e6aada99..8a79d036e9 100644 --- a/awx/ui/client/src/forms/Users.js +++ b/awx/ui/client/src/forms/Users.js @@ -109,6 +109,7 @@ export default related: { organizations: { + basePath: 'users/:id/organizations', awToolTip: 'Please save before assigning to organizations', dataPlacement: 'top', type: 'collection', @@ -131,6 +132,7 @@ export default hideOnSuperuser: true }, teams: { + basePath: 'users/:id/teams', awToolTip: 'Please save before assigning to teams', dataPlacement: 'top', type: 'collection', diff --git a/awx/ui/client/src/helpers/ActivityStream.js b/awx/ui/client/src/helpers/ActivityStream.js index 05171b2bdc..215eb00b7e 100644 --- a/awx/ui/client/src/helpers/ActivityStream.js +++ b/awx/ui/client/src/helpers/ActivityStream.js @@ -40,8 +40,8 @@ export default case 'organization': rtnTitle = 'ORGANIZATIONS'; break; - case 'management_job': - rtnTitle = 'MANAGEMENT JOBS'; + case 'job': + rtnTitle = 'JOBS'; break; case 'inventory_script': rtnTitle = 'INVENTORY SCRIPTS'; diff --git a/awx/ui/client/src/job-submission/job-submission.block.less b/awx/ui/client/src/job-submission/job-submission.block.less index 15d93c95cb..60272deda5 100644 --- a/awx/ui/client/src/job-submission/job-submission.block.less +++ b/awx/ui/client/src/job-submission/job-submission.block.less @@ -175,25 +175,26 @@ color: @btn-txt; } .JobSubmission-revertButton { - background-color: @default-link; - color: @default-bg; + background-color: @default-bg; + color: @default-link; text-transform: uppercase; padding-left:15px; padding-right: 15px; - font-size: 9px; + font-size: 11px; } .JobSubmission-revertButton:hover{ - background-color: @default-link-hov; - color: @default-bg; + background-color: @default-bg; + color: @default-link-hov; } .JobSubmission-selectedItem { display: flex; flex: 1 0 auto; margin-bottom: 15px; + align-items: baseline; } .JobSubmission-selectedItemInfo { display: flex; - flex: 1 0 auto; + flex: 0 0 auto; } .JobSubmission-selectedItemRevert { display: flex; diff --git a/awx/ui/client/src/job-submission/job-submission.controller.js b/awx/ui/client/src/job-submission/job-submission.controller.js index 761e797bd9..6149c74018 100644 --- a/awx/ui/client/src/job-submission/job-submission.controller.js +++ b/awx/ui/client/src/job-submission/job-submission.controller.js @@ -280,7 +280,14 @@ export default if($scope.ask_inventory_on_launch) { var inventory_url = GetBasePath('inventory'); - GenerateList.inject(InventoryList, { + var invList = _.cloneDeep(InventoryList); + invList.fields.status.searchable = false; + invList.fields.organization.searchable = false; + invList.fields.has_inventory_sources.searchable = false; + invList.fields.has_active_failures.searchable = false; + invList.fields.inventory_sources_with_failures.searchable = false; + + GenerateList.inject(invList, { mode: 'lookup', id: 'job-submission-inventory-lookup', scope: $scope, @@ -320,7 +327,11 @@ export default if($scope.ask_credential_on_launch) { var credential_url = GetBasePath('credentials') + '?kind=ssh'; - GenerateList.inject(CredentialList, { + var credList = _.cloneDeep(CredentialList); + credList.fields.description.searchable = false; + credList.fields.kind.searchable = false; + + GenerateList.inject(credList, { mode: 'lookup', id: 'job-submission-credential-lookup', scope: $scope, @@ -448,7 +459,7 @@ export default } } else if($scope.step === "credential") { - if($scope.selected_credential && $scope.forms.credentialpasswords.$valid) { + if($scope.selected_credential && $scope.forms.credentialpasswords && $scope.forms.credentialpasswords.$valid) { return false; } else { diff --git a/awx/ui/client/src/job-submission/job-submission.partial.html b/awx/ui/client/src/job-submission/job-submission.partial.html index d1f39af9a9..95ca9df877 100644 --- a/awx/ui/client/src/job-submission/job-submission.partial.html +++ b/awx/ui/client/src/job-submission/job-submission.partial.html @@ -26,7 +26,7 @@ None selected
somevar: somevalue
password: magic