From 1531af4f7e53ef561eb469080e1068f5b1368218 Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Tue, 22 Jul 2014 13:46:24 -0400 Subject: [PATCH] made GCE fields required" --- awx/ui/static/js/forms/Credentials.js | 10 +++++++++- awx/ui/static/js/helpers/Credentials.js | 7 +++++++ awx/ui/static/lib/ansible/form-generator.js | 3 +++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/awx/ui/static/js/forms/Credentials.js b/awx/ui/static/js/forms/Credentials.js index 0c9d2c80db..695a821d6c 100644 --- a/awx/ui/static/js/forms/Credentials.js +++ b/awx/ui/static/js/forms/Credentials.js @@ -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 diff --git a/awx/ui/static/js/helpers/Credentials.js b/awx/ui/static/js/helpers/Credentials.js index 80e051c88c..69ad630d57 100644 --- a/awx/ui/static/js/helpers/Credentials.js +++ b/awx/ui/static/js/helpers/Credentials.js @@ -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; } } diff --git a/awx/ui/static/lib/ansible/form-generator.js b/awx/ui/static/lib/ansible/form-generator.js index 24abd14aae..e48cd6e714 100644 --- a/awx/ui/static/lib/ansible/form-generator.js +++ b/awx/ui/static/lib/ansible/form-generator.js @@ -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 >\n"; + // Add error messages if ((options.mode === 'add' && field.addRequired) || (options.mode === 'edit' && field.editRequired)) { html += "