diff --git a/awx/ui/client/src/controllers/Credentials.js b/awx/ui/client/src/controllers/Credentials.js index 3b0e68dc21..8655386e26 100644 --- a/awx/ui/client/src/controllers/Credentials.js +++ b/awx/ui/client/src/controllers/Credentials.js @@ -428,6 +428,15 @@ export function CredentialsEdit($scope, $rootScope, $compile, $location, $log, $ } master.become_method = $scope.become_method; + $scope.$watch('become_method', function(val) { + if (val !== null) { + if (val.value === "") { + $scope.become_username = ""; + $scope.become_password = ""; + } + } + }); + for (i = 0; i < $scope.credential_kind_options.length; i++) { if ($scope.credential_kind_options[i].value === data.kind) { $scope.kind = $scope.credential_kind_options[i]; diff --git a/awx/ui/client/src/forms/Credentials.js b/awx/ui/client/src/forms/Credentials.js index 4626afa918..3c6f6b6de7 100644 --- a/awx/ui/client/src/forms/Credentials.js +++ b/awx/ui/client/src/forms/Credentials.js @@ -296,7 +296,7 @@ export default "become_username": { label: 'Privilege Escalation Username', type: 'text', - ngShow: "kind.value == 'ssh' && become_method", + ngShow: "kind.value == 'ssh' && (become_method && become_method.value)", addRequired: false, editRequired: false, autocomplete: false @@ -304,7 +304,7 @@ export default "become_password": { label: 'Privilege Escalation Password', type: 'sensitive', - ngShow: "kind.value == 'ssh' && become_method", + ngShow: "kind.value == 'ssh' && (become_method && become_method.value)", addRequired: false, editRequired: false, ask: true,