mirror of
https://github.com/ansible/awx.git
synced 2026-02-22 13:36:02 -03:30
AC-351 latest SCM changes. Added 'Authentication Required' checkbox. Enabled SCM password prompting on job submission.
This commit is contained in:
@@ -202,7 +202,7 @@ function CredentialsEdit ($scope, $rootScope, $compile, $location, $log, $routeP
|
||||
scope[fld + '_ask'] = false;
|
||||
$("#" + fld + "-clear-btn").removeAttr("disabled");
|
||||
}
|
||||
|
||||
master[fld + '_ask'] = scope[fld + '_ask'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,11 +33,13 @@ function JobsListCtrl ($scope, $rootScope, $location, $log, $routeParams, Rest,
|
||||
scope[ngc] = "";
|
||||
});
|
||||
|
||||
// Convert created date to local time zone
|
||||
var cDate;
|
||||
for (var i=0; i < scope[list.name].length; i++) {
|
||||
cDate = new Date(scope[list.name][i].created);
|
||||
scope[list.name][i].created = FormatDate(cDate);
|
||||
if (scope[list.name]) {
|
||||
// Convert created date to local time zone
|
||||
var cDate;
|
||||
for (var i=0; i < scope[list.name].length; i++) {
|
||||
cDate = new Date(scope[list.name][i].created);
|
||||
scope[list.name][i].created = FormatDate(cDate);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -39,7 +39,8 @@ function ProjectsList ($scope, $rootScope, $location, $log, $routeParams, Rest,
|
||||
// will contain status of last update, which is not what we want.
|
||||
scope.projects[i].last_update_failed = false;
|
||||
}
|
||||
scope.projects[i].last_updated = FormatDate(new Date(scope.projects[i].last_updated));
|
||||
scope.projects[i].last_updated = (scope.projects[i].last_updated !== null) ?
|
||||
FormatDate(new Date(scope.projects[i].last_updated)) : null;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -233,6 +234,18 @@ function ProjectsAdd ($scope, $rootScope, $compile, $location, $log, $routeParam
|
||||
scope.scmBranchLabel = (scope.scm_type.value == 'svn') ? 'Revision #' : 'SCM Branch';
|
||||
}
|
||||
|
||||
scope.authChange = function() {
|
||||
if (!scope.auth_required) {
|
||||
scope.scm_username = null;
|
||||
scope.scm_password = null;
|
||||
scope.scm_password_confirm = null;
|
||||
scope.scm_key_data = null;
|
||||
scope.scm_key_unlock = null;
|
||||
scope.scm_key_unlock_confirm = null;
|
||||
scope.scm_password_ask = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Cancel
|
||||
scope.formReset = function() {
|
||||
$rootScope.flashMessage = null;
|
||||
@@ -288,6 +301,7 @@ function ProjectsEdit ($scope, $rootScope, $compile, $location, $log, $routePara
|
||||
scope[fld + '_ask'] = false;
|
||||
$("#" + fld + "-clear-btn").removeAttr("disabled");
|
||||
}
|
||||
master[fld + '_ask'] = scope[fld + '_ask'];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -308,6 +322,8 @@ function ProjectsEdit ($scope, $rootScope, $compile, $location, $log, $routePara
|
||||
scope.project_local_paths = opts;
|
||||
scope.base_dir = 'You do not have access to view this property';
|
||||
}
|
||||
scope.auth_required = (scope.scm_type && (scope.scm_username || scope.scm_key_unlock)) ? true : false;
|
||||
master.auth_required = scope.auth_required;
|
||||
});
|
||||
|
||||
// Retrieve detail record and prepopulate the form
|
||||
@@ -403,6 +419,18 @@ function ProjectsEdit ($scope, $rootScope, $compile, $location, $log, $routePara
|
||||
}
|
||||
};
|
||||
|
||||
scope.authChange = function() {
|
||||
if (!scope.auth_required) {
|
||||
scope.scm_username = null;
|
||||
scope.scm_password = null;
|
||||
scope.scm_password_confirm = null;
|
||||
scope.scm_key_data = null;
|
||||
scope.scm_key_unlock = null;
|
||||
scope.scm_key_unlock_confirm = null;
|
||||
scope.scm_password_ask = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Related set: Add button
|
||||
scope.add = function(set) {
|
||||
$rootScope.flashMessage = null;
|
||||
|
||||
@@ -109,17 +109,25 @@ angular.module('ProjectFormDefinition', [])
|
||||
addRequired: false,
|
||||
editRequired: false
|
||||
},
|
||||
auth_required: {
|
||||
label: 'Authorization required?',
|
||||
type: 'checkbox',
|
||||
ngShow: "scm_type !== '' && scm_type !== null",
|
||||
addRequired: false,
|
||||
editRequired: false,
|
||||
ngChange: 'authChange()'
|
||||
},
|
||||
scm_username: {
|
||||
label: 'SCM Username',
|
||||
type: 'text',
|
||||
ngShow: "scm_type !== '' && scm_type !== null",
|
||||
ngShow: "scm_type !== '' && scm_type !== null && auth_required",
|
||||
addRequired: false,
|
||||
editRequired: false
|
||||
},
|
||||
"scm_password": {
|
||||
label: 'SCM Password',
|
||||
type: 'password',
|
||||
ngShow: "scm_type !== '' && scm_type !== null",
|
||||
ngShow: "scm_type !== '' && scm_type !== null && auth_required",
|
||||
addRequired: false,
|
||||
editRequired: false,
|
||||
ngChange: "clearPWConfirm('scm_password_confirm')",
|
||||
@@ -129,9 +137,9 @@ angular.module('ProjectFormDefinition', [])
|
||||
autocomplete: false
|
||||
},
|
||||
"scm_password_confirm": {
|
||||
label: 'Confirm Password',
|
||||
label: 'Confirm SCM Password',
|
||||
type: 'password',
|
||||
ngShow: "scm_type !== '' && scm_type !== null",
|
||||
ngShow: "scm_type !== '' && scm_type !== null && auth_required",
|
||||
addRequired: false,
|
||||
editRequired: false,
|
||||
awPassMatch: true,
|
||||
@@ -141,7 +149,7 @@ angular.module('ProjectFormDefinition', [])
|
||||
"scm_key_data": {
|
||||
label: 'SCM Private Key',
|
||||
type: 'textarea',
|
||||
ngShow: "scm_type !== '' && scm_type !== null",
|
||||
ngShow: "scm_type !== '' && scm_type !== null && auth_required",
|
||||
xtraWide: true,
|
||||
addRequired: false,
|
||||
editRequired: false,
|
||||
@@ -151,7 +159,7 @@ angular.module('ProjectFormDefinition', [])
|
||||
"scm_key_unlock": {
|
||||
label: 'SCM Key Password',
|
||||
type: 'password',
|
||||
ngShow: "scm_type !== '' && scm_type !== null && scm_key_data",
|
||||
ngShow: "scm_type !== '' && scm_type !== null && scm_key_data && auth_required",
|
||||
addRequired: false,
|
||||
editRequired: false,
|
||||
ngChange: "clearPWConfirm('scm_key_unlock_confirm')",
|
||||
@@ -160,9 +168,9 @@ angular.module('ProjectFormDefinition', [])
|
||||
clear: true
|
||||
},
|
||||
"scm_key_unlock_confirm": {
|
||||
label: 'Confirm Key Password',
|
||||
label: 'Confirm SCM Key Password',
|
||||
type: 'password',
|
||||
ngShow: "scm_type !== '' && scm_type !== null && scm_key_data",
|
||||
ngShow: "scm_type !== '' && scm_type !== null && scm_key_data && auth_required",
|
||||
addRequired: false,
|
||||
editRequired: false,
|
||||
awPassMatch: true,
|
||||
|
||||
@@ -5,16 +5,17 @@
|
||||
*
|
||||
*/
|
||||
angular.module('JobSubmissionHelper', [ 'RestServices', 'Utilities', 'CredentialFormDefinition', 'CredentialsListDefinition',
|
||||
'LookUpHelper', 'JobTemplateFormDefinition', 'ProjectFormDefinition' ])
|
||||
'LookUpHelper', 'ProjectFormDefinition' ])
|
||||
|
||||
.factory('PromptPasswords',['CredentialForm', '$compile', 'Rest', '$location', 'ProcessErrors', 'GetBasePath', 'Alert',
|
||||
function(JobTemplateForm, $compile, Rest, $location, ProcessErrors, GetBasePath, Alert) {
|
||||
.factory('PromptPasswords', ['CredentialForm', 'JobTemplateForm', 'ProjectsForm', '$compile', 'Rest', '$location', 'ProcessErrors', 'GetBasePath',
|
||||
'Alert',
|
||||
function(CredentialForm, JobTemplateForm, ProjectsForm, $compile, Rest, $location, ProcessErrors, GetBasePath, Alert) {
|
||||
return function(params) {
|
||||
|
||||
var scope = params.scope;
|
||||
var passwords = params.passwords;
|
||||
var start_url = params.start_url;
|
||||
var form = params.form;
|
||||
var form = CredentialForm;
|
||||
var html = '';
|
||||
var field, element, dialogScope, fld;
|
||||
var base = $location.path().replace(/^\//,'').split('/')[0];
|
||||
@@ -97,7 +98,7 @@ angular.module('JobSubmissionHelper', [ 'RestServices', 'Utilities', 'Credential
|
||||
html += html += "<form class=\"form-horizontal\" name=\"password_form\" novalidate>\n";
|
||||
for (var i=0; i < passwords.length; i++) {
|
||||
// Add the password field
|
||||
field = form.fields[passwords[i]];
|
||||
field = (form.fields[passwords[i]]) ? form.fields[passwords[i]] : ProjectsForm.fields[passwords[i]];
|
||||
fld = passwords[i];
|
||||
scope[fld] = '';
|
||||
html += "<div class=\"form-group\">\n";
|
||||
@@ -119,7 +120,7 @@ angular.module('JobSubmissionHelper', [ 'RestServices', 'Utilities', 'Credential
|
||||
|
||||
// Add the related confirm field
|
||||
fld = field.associated;
|
||||
field = form.fields[field.associated];
|
||||
field = (form.fields[field.associated]) ? form.fields[field.associated] : ProjectsForm.fields[field.associated];
|
||||
scope[fld] = '';
|
||||
html += "<div class=\"form-group\">\n";
|
||||
html += "<label class=\"control-label col-lg-3\" for=\"" + fld + '">' + field.label + '</label>' + "\n";
|
||||
|
||||
Reference in New Issue
Block a user