diff --git a/awx/ui/client/features/credentials/add-credentials.controller.js b/awx/ui/client/features/credentials/add-credentials.controller.js index 38967d4bd4..88ed9b01b0 100644 --- a/awx/ui/client/features/credentials/add-credentials.controller.js +++ b/awx/ui/client/features/credentials/add-credentials.controller.js @@ -25,20 +25,15 @@ function AddCredentialsController (models, $state) { vm.form.organization._resource = 'organization'; vm.form.organization._route = 'credentials.add.organization'; - vm.form.credential_type._resource = 'credentialType'; + vm.form.credential_type._resource = 'credential_type'; vm.form.credential_type._route = 'credentials.add.credentialType'; -/* - * vm.form.credential_type._data = credentialType.get('results'); - * vm.form.credential_type._placeholder = 'SELECT A TYPE'; - * vm.form.credential_type._format = 'grouped-object'; - * vm.form.credential_type._display = 'name'; - * vm.form.credential_type._key = 'id'; - * vm.form.credential_type._exp = 'type as type.name group by type.kind for type in state._data'; - * - */ vm.form.inputs = { - _get: credentialType.mergeInputProperties, + _get: id => { + let type = credentialType.getById(id); + + return credentialType.mergeInputProperties(type); + }, _source: vm.form.credential_type, _reference: 'vm.form.inputs', _key: 'inputs' diff --git a/awx/ui/client/features/credentials/add-edit-credentials.view.html b/awx/ui/client/features/credentials/add-edit-credentials.view.html index c0a4a6416a..a49b5dbed0 100644 --- a/awx/ui/client/features/credentials/add-edit-credentials.view.html +++ b/awx/ui/client/features/credentials/add-edit-credentials.view.html @@ -1,9 +1,4 @@ - + {{ vm.panelTitle }} @@ -26,15 +21,14 @@ - + - + CREDENTIALS PERMISSIONS @@ -47,5 +41,5 @@ -
+
diff --git a/awx/ui/client/features/credentials/edit-credentials.controller.js b/awx/ui/client/features/credentials/edit-credentials.controller.js index f3c5b4c87f..69126a5988 100644 --- a/awx/ui/client/features/credentials/edit-credentials.controller.js +++ b/awx/ui/client/features/credentials/edit-credentials.controller.js @@ -6,6 +6,7 @@ function EditCredentialsController (models, $state, $scope) { let me = models.me; let credential = models.credential; let credentialType = models.credentialType; + let selectedCredentialType = credentialType.getById(credential.get('credential_type')); vm.tab = { details: { @@ -43,15 +44,14 @@ function EditCredentialsController (models, $state, $scope) { vm.form.organization._value = credential.get('summary_fields.organization.id'); vm.form.organization._displayValue = credential.get('summary_fields.organization.name'); - vm.form.credential_type._data = credentialType.get('results'); - vm.form.credential_type._format = 'grouped-object'; - vm.form.credential_type._display = 'name'; - vm.form.credential_type._key = 'id'; - vm.form.credential_type._exp = 'type as type.name group by type.kind for type in state._data'; - vm.form.credential_type._value = credentialType.getById(credential.get('credential_type')); - + vm.form.credential_type._resource = 'credential_type'; + vm.form.credential_type._route = 'credentials.edit.credentialType'; + vm.form.credential_type._value = selectedCredentialType.id; + vm.form.credential_type._displayValue = selectedCredentialType.name; + vm.form.inputs = { - _get (type) { + _get (id) { + let type = credentialType.getById(id); let inputs = credentialType.mergeInputProperties(type); if (type.id === credential.get('credential_type')) { diff --git a/awx/ui/client/features/credentials/legacy.credentials.js b/awx/ui/client/features/credentials/legacy.credentials.js index 4e49975460..6cf6eab773 100644 --- a/awx/ui/client/features/credentials/legacy.credentials.js +++ b/awx/ui/client/features/credentials/legacy.credentials.js @@ -321,14 +321,14 @@ function LegacyCredentialsService (pathService) { return this.organization; case 'add-credential-type': this.credentialType.name = 'credentials.add.credentialType'; - this.credentialType.views['credentialType@credentials.add'] = { + this.credentialType.views['credential_type@credentials.add'] = { templateProvider: this.lookupTemplateProvider }; return this.credentialType; case 'edit-credential-type': this.credentialType.name = 'credentials.edit.credentialType'; - this.credentialType.views['credentialType@credentials.edit'] = { + this.credentialType.views['credential_type@credentials.edit'] = { templateProvider: this.lookupTemplateProvider }; diff --git a/awx/ui/client/lib/components/form/action.directive.js b/awx/ui/client/lib/components/form/action.directive.js index 90dbf561ef..1cc9c4ded2 100644 --- a/awx/ui/client/lib/components/form/action.directive.js +++ b/awx/ui/client/lib/components/form/action.directive.js @@ -39,7 +39,7 @@ function atFormActionController ($state) { scope.text = 'CANCEL'; scope.fill = 'Hollow'; scope.color = 'default'; - scope.action = () => $state.go('^'); + scope.action = () => $state.go(scope.to || '^'); }; vm.setSaveDefaults = () => { @@ -64,7 +64,8 @@ function atFormAction (pathService) { link, scope: { state: '=', - type: '@' + type: '@', + to: '@' } }; } diff --git a/awx/ui/client/lib/components/input/lookup.directive.js b/awx/ui/client/lib/components/input/lookup.directive.js index 93cb3766f7..50e7ddef88 100644 --- a/awx/ui/client/lib/components/input/lookup.directive.js +++ b/awx/ui/client/lib/components/input/lookup.directive.js @@ -19,16 +19,20 @@ function AtInputLookupController (baseInputController, $state, $stateParams) { scope = _scope_; - scope.$watch(scope.state._resource, () => { - if (scope[scope.state._resource]) { - scope.state._value = scope[scope.state._resource]; - scope.state._displayValue = scope[`${scope.state._resource}_name`]; - } - }); + scope.$watch(scope.state._resource, vm.watchResource); vm.check(); }; + vm.watchResource = () => { + if (scope[scope.state._resource]) { + scope.state._value = scope[scope.state._resource]; + scope.state._displayValue = scope[`${scope.state._resource}_name`]; + + vm.check(); + } + }; + vm.search = () => { let params = {}; @@ -36,7 +40,6 @@ function AtInputLookupController (baseInputController, $state, $stateParams) { params.selected = scope.state._value; } - console.log(scope.state); $state.go(scope.state._route, params); }; }