diff --git a/awx/ui/client/features/credentials/edit-credentials.controller.js b/awx/ui/client/features/credentials/edit-credentials.controller.js index d94c6163c2..3066034f7b 100644 --- a/awx/ui/client/features/credentials/edit-credentials.controller.js +++ b/awx/ui/client/features/credentials/edit-credentials.controller.js @@ -1,7 +1,7 @@ function EditCredentialsController (models, $state, $scope, strings, componentsStrings) { const vm = this || {}; - const { me, credential, credentialType, organization } = models; + const { me, credential, credentialType, organization, isOrgCredAdmin } = models; const omit = ['user', 'team', 'inputs']; const isEditable = credential.isEditable(); @@ -43,11 +43,11 @@ function EditCredentialsController (models, $state, $scope, strings, componentsS } const isOrgAdmin = _.some(me.get('related.admin_of_organizations.results'), (org) => org.id === organization.get('id')); - const isOrgCredentialAdmin = organization.search({ role_level: 'credential_admin_role' }).then((data) => data); const isSuperuser = me.get('is_superuser'); const isCurrentAuthor = Boolean(credential.get('summary_fields.created_by.id') === me.get('id')); vm.form.organization._disabled = true; - if (isSuperuser || isOrgAdmin || isOrgCredentialAdmin || (credential.get('organization') === null && isCurrentAuthor)) { + + if (isSuperuser || isOrgAdmin || isOrgCredAdmin || (credential.get('organization') === null && isCurrentAuthor)) { vm.form.organization._disabled = false; } diff --git a/awx/ui/client/features/credentials/index.js b/awx/ui/client/features/credentials/index.js index 5a20d290aa..e3a1ea7734 100644 --- a/awx/ui/client/features/credentials/index.js +++ b/awx/ui/client/features/credentials/index.js @@ -33,11 +33,13 @@ function CredentialsResolve ($q, $stateParams, Me, Credential, CredentialType, O credentialType: new CredentialType('get', typeId), organization: new Organization('get', orgId) }; + dependents.isOrgCredAdmin = dependents.organization.then((org) => org.search({ role_level: 'credential_admin_role' })); return $q.all(dependents) .then(related => { models.credentialType = related.credentialType; models.organization = related.organization; + models.isOrgCredAdmin = related.isOrgCredAdmin; return models; });