diff --git a/awx/ui/client/legacy-styles/ansible-ui.less b/awx/ui/client/legacy-styles/ansible-ui.less
index 6ae02877f3..b60dae51e5 100644
--- a/awx/ui/client/legacy-styles/ansible-ui.less
+++ b/awx/ui/client/legacy-styles/ansible-ui.less
@@ -348,6 +348,10 @@ textarea.allowresize {
margin-right: -5px;
}
+.prepend-asterisk.user-password:before {
+ margin-right: 0;
+}
+
.subtitle {
font-size: 16px;
}
diff --git a/awx/ui/client/src/shared/directives.js b/awx/ui/client/src/shared/directives.js
index 5e83d56717..fd1fbe7fbb 100644
--- a/awx/ui/client/src/shared/directives.js
+++ b/awx/ui/client/src/shared/directives.js
@@ -420,6 +420,10 @@ function(ConfigurationUtils, i18n, $rootScope) {
.directive('awRequiredWhen', function() {
return {
require: 'ngModel',
+ compile: function(tElem) {
+ let label = $(tElem).closest('.form-group').find('label').first();
+ $(label).addClass('prepend-asterisk');
+ },
link: function(scope, elm, attrs, ctrl) {
function updateRequired() {
diff --git a/awx/ui/client/src/templates/survey-maker/shared/question-definition.form.js b/awx/ui/client/src/templates/survey-maker/shared/question-definition.form.js
index f63df7978c..30613f21d5 100644
--- a/awx/ui/client/src/templates/survey-maker/shared/question-definition.form.js
+++ b/awx/ui/client/src/templates/survey-maker/shared/question-definition.form.js
@@ -41,15 +41,18 @@ export default ['i18n', function(i18n){
variable: {
realName: 'variable',
type: 'custom',
- control:''+
+ label: i18n._('Answer Variable Name'),
+ control:
'
'+
'
Please enter an answer variable name.
'+
'
Please remove the illegal character from the survey question variable name.
'+
'
This question variable is already in use. Please enter a different variable name.
' +
'
'+
'
',
+ awPopOver: i18n._("The suggested format for variable names is lowercase and underscore-separated (for example, foo_bar, user_id, host_name, etc.). Variable names with spaces are not allowed."),
+ dataTitle: i18n._('Answer Variable Name'),
+ dataPlacement: 'right',
+ dataContainer: "body",
required: true,
column: 1,
class: 'Form-formGroup--singleColumn'
diff --git a/awx/ui/client/src/users/users.form.js b/awx/ui/client/src/users/users.form.js
index 4f6de00050..c9703a70a5 100644
--- a/awx/ui/client/src/users/users.form.js
+++ b/awx/ui/client/src/users/users.form.js
@@ -70,7 +70,7 @@ export default ['i18n', function(i18n) {
hasShowInputButton: true,
ngShow: 'ldap_user == false && socialAuthUser === false && external_account === null',
ngRequired: "$state.match('add')",
- labelNGClass: "{'prepend-asterisk' : $state.matches('add')}",
+ labelNGClass: "{'prepend-asterisk user-password' : $state.matches('add')}",
ngChange: "clearPWConfirm('password_confirm')",
autocomplete: false,
ngDisabled: '!(user_obj.summary_fields.user_capabilities.edit || canAdd)'
@@ -81,7 +81,7 @@ export default ['i18n', function(i18n) {
hasShowInputButton: true,
ngShow: 'ldap_user == false && socialAuthUser === false && external_account === null',
ngRequired: "$state.match('add')",
- labelNGClass: "{'prepend-asterisk' : $state.matches('add')}",
+ labelNGClass: "{'prepend-asterisk user-password' : $state.matches('add')}",
awPassMatch: true,
associated: 'password',
autocomplete: false,