mirror of
https://github.com/ansible/awx.git
synced 2026-01-17 20:51:21 -03:30
Merge pull request #1891 from kensible/1830-credentialsAudit
Credential UX audit cleanup
This commit is contained in:
commit
b9d654690a
@ -422,6 +422,19 @@ textarea.allowresize {
|
||||
max-width: 325px;
|
||||
background-color: @default-interface-txt;
|
||||
color: @default-bg; //white
|
||||
|
||||
code {
|
||||
color: @default-data-txt;
|
||||
background-color: @default-white-button-bord;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: @default-warning;
|
||||
&:hover {
|
||||
color: @default-warning-hov;
|
||||
}
|
||||
}
|
||||
}
|
||||
.popover.right>.arrow:after {
|
||||
border-right-color: @default-interface-txt;
|
||||
|
||||
@ -201,6 +201,11 @@
|
||||
|
||||
.Form-textAreaLabel{
|
||||
width:100%;
|
||||
order: 1;
|
||||
}
|
||||
|
||||
.Form-formGroup.Form-textAreaLabel {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.Form-textArea{
|
||||
|
||||
@ -422,6 +422,10 @@ var tower = angular.module('Tower', [
|
||||
controller: CredentialsEdit,
|
||||
data: {
|
||||
activityStreamId: 'credential_id'
|
||||
},
|
||||
ncyBreadcrumb: {
|
||||
parent: "credentials",
|
||||
label: "EDIT CREDENTIAL"
|
||||
}
|
||||
}).
|
||||
|
||||
@ -742,12 +746,12 @@ var tower = angular.module('Tower', [
|
||||
// remove any lingering intervals
|
||||
// except on jobDetails.* states
|
||||
var jobDetailStates = [
|
||||
'jobDetail',
|
||||
'jobDetail.host-summary',
|
||||
'jobDetail',
|
||||
'jobDetail.host-summary',
|
||||
'jobDetail.host-event.details',
|
||||
'jobDetail.host-event.json',
|
||||
'jobDetail.host-event.json',
|
||||
'jobDetail.host-events',
|
||||
'jobDetail.host-event.stdout'
|
||||
'jobDetail.host-event.stdout'
|
||||
];
|
||||
if ($rootScope.jobDetailInterval && !_.includes(jobDetailStates, next.name) ) {
|
||||
window.clearInterval($rootScope.jobDetailInterval);
|
||||
|
||||
@ -15,7 +15,6 @@ export function CredentialsList($scope, $rootScope, $location, $log,
|
||||
$stateParams, Rest, Alert, CredentialList, GenerateList, Prompt, SearchInit,
|
||||
PaginateInit, ReturnToCaller, ClearScope, ProcessErrors, GetBasePath,
|
||||
SelectionInit, GetChoices, Wait, $state) {
|
||||
|
||||
ClearScope();
|
||||
|
||||
Wait('start');
|
||||
@ -33,7 +32,6 @@ export function CredentialsList($scope, $rootScope, $location, $log,
|
||||
$scope.credentialLoading = true;
|
||||
|
||||
url = GetBasePath(base) + ( (base === 'users') ? $stateParams.user_id + '/credentials/' : $stateParams.team_id + '/credentials/' );
|
||||
|
||||
if (mode === 'select') {
|
||||
SelectionInit({ scope: $scope, list: list, url: url, returnToCaller: 1 });
|
||||
}
|
||||
@ -119,13 +117,15 @@ export function CredentialsList($scope, $rootScope, $location, $log,
|
||||
actionText: 'DELETE'
|
||||
});
|
||||
};
|
||||
|
||||
$scope.$emit('choicesReadyCredential');
|
||||
}
|
||||
|
||||
CredentialsList.$inject = ['$scope', '$rootScope', '$location', '$log',
|
||||
'$stateParams', 'Rest', 'Alert', 'CredentialList', 'generateList', 'Prompt',
|
||||
'SearchInit', 'PaginateInit', 'ReturnToCaller', 'ClearScope',
|
||||
'ProcessErrors', 'GetBasePath', 'SelectionInit', 'GetChoices', 'Wait',
|
||||
'$state'
|
||||
'$state',
|
||||
];
|
||||
|
||||
|
||||
@ -320,10 +320,12 @@ export function CredentialsEdit($scope, $rootScope, $compile, $location, $log,
|
||||
$stateParams, CredentialForm, GenerateForm, Rest, Alert, ProcessErrors,
|
||||
RelatedSearchInit, RelatedPaginateInit, ReturnToCaller, ClearScope, Prompt,
|
||||
GetBasePath, GetChoices, KindChange, OrganizationList, LookUpInit, Empty,
|
||||
OwnerChange, FormSave, Wait, $state, CreateSelect2) {
|
||||
OwnerChange, FormSave, Wait, $state, CreateSelect2, Authorization) {
|
||||
if (!$rootScope.current_user) {
|
||||
Authorization.restoreUserInfo();
|
||||
}
|
||||
|
||||
ClearScope();
|
||||
|
||||
var defaultUrl = GetBasePath('credentials'),
|
||||
generator = GenerateForm,
|
||||
form = CredentialForm,
|
||||
@ -331,7 +333,6 @@ export function CredentialsEdit($scope, $rootScope, $compile, $location, $log,
|
||||
master = {},
|
||||
id = $stateParams.credential_id,
|
||||
relatedSets = {};
|
||||
|
||||
generator.inject(form, { mode: 'edit', related: true, scope: $scope });
|
||||
generator.reset();
|
||||
$scope.id = id;
|
||||
@ -672,5 +673,5 @@ CredentialsEdit.$inject = ['$scope', '$rootScope', '$compile', '$location',
|
||||
'ProcessErrors', 'RelatedSearchInit', 'RelatedPaginateInit',
|
||||
'ReturnToCaller', 'ClearScope', 'Prompt', 'GetBasePath', 'GetChoices',
|
||||
'KindChange', 'OrganizationList', 'LookUpInit', 'Empty', 'OwnerChange',
|
||||
'FormSave', 'Wait', '$state', 'CreateSelect2'
|
||||
'FormSave', 'Wait', '$state', 'CreateSelect2', 'Authorization'
|
||||
];
|
||||
|
||||
@ -39,7 +39,7 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
scope.project_required = false;
|
||||
scope.subscription_required = false;
|
||||
scope.key_description = "Paste the contents of the SSH private key file.<div class=\"popover-footer\"><span class=\"key\">esc</span> or click to close</div>";
|
||||
scope.key_hint= "drag and drop an SSH private key file on the field below";
|
||||
scope.key_hint= "paste or drag and drop an SSH private key file on the field below";
|
||||
scope.host_required = false;
|
||||
scope.password_required = false;
|
||||
scope.hostLabel = '';
|
||||
@ -65,7 +65,7 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
scope.domain_required = false;
|
||||
scope.subscription_required = false;
|
||||
scope.key_description = "Paste the contents of the SSH private key file.";
|
||||
scope.key_hint= "drag and drop an SSH private key file on the field below";
|
||||
scope.key_hint= "paste or drag and drop an SSH private key file on the field below";
|
||||
scope.host_required = false;
|
||||
scope.password_required = false;
|
||||
scope.hostLabel = '';
|
||||
@ -75,7 +75,6 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
scope.passwordLabel = 'Password (API Key)';
|
||||
scope.projectPopOver = "<p>The project value</p>";
|
||||
scope.hostPopOver = "<p>The host value</p>";
|
||||
|
||||
if (!Empty(scope.kind)) {
|
||||
// Apply kind specific settings
|
||||
switch (scope.kind.value) {
|
||||
@ -131,6 +130,7 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
scope.password_required = true;
|
||||
scope.hostLabel = "vCenter Host";
|
||||
scope.passwordLabel = 'Password';
|
||||
scope.hostPopOver = "Enter the hostname or IP address which corresponds to your VMware vCenter.";
|
||||
break;
|
||||
case 'openstack':
|
||||
scope.hostLabel = "Host (Authentication URL)";
|
||||
@ -152,6 +152,8 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
scope.passwordLabel = 'Password';
|
||||
scope.host_required = true;
|
||||
scope.hostLabel = "Satellite 6 Host";
|
||||
scope.hostPopOver = "Enter the hostname or IP address name which <br />" +
|
||||
"corresponds to your Red Hat Satellite 6 server.";
|
||||
break;
|
||||
case 'cloudforms':
|
||||
scope.username_required = true;
|
||||
@ -159,6 +161,8 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
scope.passwordLabel = 'Password';
|
||||
scope.host_required = true;
|
||||
scope.hostLabel = "CloudForms Host";
|
||||
scope.hostPopOver = "Enter the hostname or IP address for the virtual <br />" +
|
||||
" machine which is hosting the CloudForm appliance.";
|
||||
break;
|
||||
case 'net':
|
||||
scope.username_required = true;
|
||||
@ -222,8 +226,8 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
}
|
||||
])
|
||||
|
||||
.factory('FormSave', ['$rootScope', 'Refresh', '$location', 'Alert', 'Rest', 'ProcessErrors', 'Empty', 'GetBasePath', 'CredentialForm', 'ReturnToCaller', 'Wait',
|
||||
function ($rootScope, Refresh, $location, Alert, Rest, ProcessErrors, Empty, GetBasePath, CredentialForm, ReturnToCaller, Wait) {
|
||||
.factory('FormSave', ['$rootScope', 'Refresh', '$location', 'Alert', 'Rest', 'ProcessErrors', 'Empty', 'GetBasePath', 'CredentialForm', 'ReturnToCaller', 'Wait', '$state',
|
||||
function ($rootScope, Refresh, $location, Alert, Rest, ProcessErrors, Empty, GetBasePath, CredentialForm, ReturnToCaller, Wait, $state) {
|
||||
return function (params) {
|
||||
var scope = params.scope,
|
||||
mode = params.mode,
|
||||
@ -293,6 +297,8 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
else {
|
||||
ReturnToCaller(1);
|
||||
}
|
||||
$state.go('credentials.edit', {credential_id: data.id}, {reload: true});
|
||||
|
||||
})
|
||||
.error(function (data, status) {
|
||||
Wait('stop');
|
||||
@ -314,6 +320,7 @@ angular.module('CredentialsHelper', ['Utilities'])
|
||||
else {
|
||||
ReturnToCaller(1);
|
||||
}
|
||||
|
||||
})
|
||||
.error(function (data, status) {
|
||||
Wait('stop');
|
||||
|
||||
@ -48,7 +48,7 @@ export default
|
||||
organization: scope.organization,
|
||||
script: scope.script
|
||||
})
|
||||
.success(function (data) {
|
||||
.success(function () {
|
||||
$state.go('inventoryScripts', {}, {reload: true});
|
||||
Wait('stop');
|
||||
})
|
||||
|
||||
@ -17,10 +17,10 @@
|
||||
if (typeof value === 'object'){return false;}
|
||||
else {return true;}
|
||||
};
|
||||
|
||||
//var CodeMirror;
|
||||
var codeMirror = function(el, json){
|
||||
var container = $(el)[0];
|
||||
var editor = CodeMirror.fromTextArea(container, {
|
||||
var editor = codeMirror.fromTextArea(container, {
|
||||
lineNumbers: true,
|
||||
mode: {name: "javascript", json: true}
|
||||
});
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<div class="TagSearch row">
|
||||
<div ng-class="listConfig.searchSize || 'col-lg-4 col-md-8 col-sm-12 col-xs-12'">
|
||||
<div ng-class="listConfig.searchSize || 'col-lg-4 col-md-12 col-sm-12 col-xs-12'">
|
||||
<div class="TagSearch-bar">
|
||||
<div class="TagSearch-typeDropdown"
|
||||
ng-click="toggleTypeDropdown()"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user