made GCE fields required"

This commit is contained in:
Jared Tabor 2014-07-22 13:46:24 -04:00 committed by Luke Sneeringer
parent 37295a9c47
commit 1531af4f7e
3 changed files with 19 additions and 1 deletions

View File

@ -143,7 +143,7 @@ angular.module('CredentialFormDefinition', [])
type: 'text',
ngShow: "kind.value && kind.value !== 'aws'",
awRequiredWhen: {
variable: 'rackspace_required',
variable: 'username_required',
init: false
},
autocomplete: false
@ -209,6 +209,10 @@ angular.module('CredentialFormDefinition', [])
labelBind: 'sshKeyDataLabel',
type: 'textarea',
ngShow: "kind.value == 'ssh' || kind.value == 'scm' || kind.value == 'gce'",
awRequiredWhen: {
variable: 'key_required',
init: true
},
addRequired: false,
editRequired: false,
'class': 'ssh-key-field',
@ -269,6 +273,10 @@ angular.module('CredentialFormDefinition', [])
label: "Project",
type: 'text',
ngShow: "kind.value == 'gce'",
awRequiredWhen: {
variable: 'project_required',
init: false
},
addRequired: false,
editRequired: false,
autocomplete: false

View File

@ -24,6 +24,9 @@ angular.module('CredentialsHelper', ['Utilities'])
scope.aws_required = false;
scope.rackspace_required = false;
scope.sshKeyDataLabel = 'SSH Private Key';
scope.username_required = false; // JT-- added username_required b/c mutliple 'kinds' need username to be required (GCE)
scope.key_required = false; // JT -- doing the same for key and project
scope.project_required = false;
if (!Empty(scope.kind)) {
// Apply kind specific settings
@ -33,6 +36,7 @@ angular.module('CredentialsHelper', ['Utilities'])
break;
case 'rax':
scope.rackspace_required = true;
scope.username_required = true;
break;
case 'ssh':
scope.usernameLabel = 'SSH Username';
@ -43,6 +47,9 @@ angular.module('CredentialsHelper', ['Utilities'])
case 'gce':
scope.usernameLabel = 'Email Address';
scope.sshKeyDataLabel = 'RSA Private Key';
scope.username_required = true;
scope.key_required = true;
scope.project_required = true;
break;
}
}

View File

@ -736,8 +736,11 @@ angular.module('FormGenerator', ['GeneratorHelpers', 'Utilities', 'ListGenerator
html += (options.mode === 'edit' && field.editRequired) ? "required " : "";
html += (options.mode === 'add' && field.addRequired) ? "required " : "";
html += (field.readonly || field.showonly) ? "readonly " : "";
html += (field.awRequiredWhen) ? "data-awrequired-init=\"" + field.awRequiredWhen.init + "\" aw-required-when=\"" +
field.awRequiredWhen.variable + "\" " : "";
html += "aw-watch ></textarea>\n";
// Add error messages
if ((options.mode === 'add' && field.addRequired) || (options.mode === 'edit' && field.editRequired)) {
html += "<div class=\"error\" ng-show=\"" + this.form.name + '_form.' + fld + ".$dirty && " +