From d90a1a1ce757f39eaa280b4abef992f4dcd269c6 Mon Sep 17 00:00:00 2001 From: mabashian Date: Thu, 12 Jul 2018 17:24:04 -0400 Subject: [PATCH] Fixed deleting personal access tokens --- .../features/users/tokens/tokens.strings.js | 1 + .../tokens/users-tokens-list.controller.js | 29 ++++++++++--------- .../tokens/users-tokens-list.partial.html | 5 +++- .../users/tokens/users-tokens-list.route.js | 14 +++++++++ 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/awx/ui/client/features/users/tokens/tokens.strings.js b/awx/ui/client/features/users/tokens/tokens.strings.js index b906f3fe10..2f84642eae 100644 --- a/awx/ui/client/features/users/tokens/tokens.strings.js +++ b/awx/ui/client/features/users/tokens/tokens.strings.js @@ -38,6 +38,7 @@ function TokensStrings (BaseString) { ROW_ITEM_LABEL_USED: t.s('LAST USED'), ROW_ITEM_LABEL_SCOPE: t.s('SCOPE'), ROW_ITEM_LABEL_APPLICATION: t.s('APPLICATION'), + PERSONAL_ACCESS_TOKEN: t.s('Personal Access Token'), HEADER: appName => t.s('{{ appName }} Token', { appName }), }; } diff --git a/awx/ui/client/features/users/tokens/users-tokens-list.controller.js b/awx/ui/client/features/users/tokens/users-tokens-list.controller.js index 056a77792a..4dde61c441 100644 --- a/awx/ui/client/features/users/tokens/users-tokens-list.controller.js +++ b/awx/ui/client/features/users/tokens/users-tokens-list.controller.js @@ -10,13 +10,15 @@ function ListTokensController ( Dataset, strings, ProcessErrors, - Rest, GetBasePath, Prompt, - Wait + Wait, + models ) { const vm = this || {}; + const { token } = models; + vm.strings = strings; vm.activeId = $state.params.token_id; @@ -48,8 +50,8 @@ function ListTokensController ( return undefined; }; - vm.getLastUsed = token => { - const lastUsed = _.get(token, 'last_used'); + vm.getLastUsed = tokenToCheck => { + const lastUsed = _.get(tokenToCheck, 'last_used'); if (!lastUsed) { return undefined; @@ -57,7 +59,7 @@ function ListTokensController ( let html = $filter('longDate')(lastUsed); - const { username, id } = _.get(token, 'summary_fields.last_used', {}); + const { username, id } = _.get(tokenToCheck, 'summary_fields.last_used', {}); if (username && id) { html += ` ${strings.get('add.LAST_USED_LABEL')} ${$filter('sanitize')(username)}`; @@ -70,8 +72,7 @@ function ListTokensController ( const action = () => { $('#prompt-modal').modal('hide'); Wait('start'); - Rest.setUrl(`${GetBasePath('tokens')}${tok.id}`); - Rest.destroy() + token.request('delete', tok.id) .then(() => { let reloadListStateParams = null; @@ -89,14 +90,12 @@ function ListTokensController ( } else { $state.go('.', reloadListStateParams, { reload: true }); } - }) - .catch(({ data, status }) => { + }).catch(({ data, status }) => { ProcessErrors($scope, data, status, null, { hdr: strings.get('error.HEADER'), msg: strings.get('error.CALL', { path: `${GetBasePath('tokens')}${tok.id}`, status }) }); - }) - .finally(() => { + }).finally(() => { Wait('stop'); }); }; @@ -105,7 +104,9 @@ function ListTokensController ( Prompt({ hdr: strings.get('deleteResource.HEADER'), - resourceName: strings.get('list.HEADER', tok.summary_fields.application.name), + resourceName: _.has(tok, 'summary_fields.application.name') ? + strings.get('list.HEADER', tok.summary_fields.application.name) : + strings.get('list.PERSONAL_ACCESS_TOKEN'), body: deleteModalBody, action, actionText: strings.get('add.DELETE_ACTION_LABEL') @@ -120,10 +121,10 @@ ListTokensController.$inject = [ 'Dataset', 'TokensStrings', 'ProcessErrors', - 'Rest', 'GetBasePath', 'Prompt', - 'Wait' + 'Wait', + 'resolvedModels' ]; export default ListTokensController; diff --git a/awx/ui/client/features/users/tokens/users-tokens-list.partial.html b/awx/ui/client/features/users/tokens/users-tokens-list.partial.html index 01e1f624f6..9018b6a7b8 100644 --- a/awx/ui/client/features/users/tokens/users-tokens-list.partial.html +++ b/awx/ui/client/features/users/tokens/users-tokens-list.partial.html @@ -25,7 +25,10 @@
+ header-value="{{ token.summary_fields.application.name ? + vm.strings.get('list.HEADER', token.summary_fields.application.name) : + vm.strings.get('list.PERSONAL_ACCESS_TOKEN') + }}">