mirror of
https://github.com/ansible/awx.git
synced 2026-01-12 18:40:01 -03:30
Fixed deleting personal access tokens
This commit is contained in:
parent
8297bd00b3
commit
d90a1a1ce7
@ -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 }),
|
||||
};
|
||||
}
|
||||
|
||||
@ -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')} <a href="/#/users/${id}">${$filter('sanitize')(username)}</a>`;
|
||||
@ -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;
|
||||
|
||||
@ -25,7 +25,10 @@
|
||||
<at-row ng-repeat="token in tokens">
|
||||
<div class="at-Row-items">
|
||||
<at-row-item
|
||||
header-value="{{ vm.strings.get('list.HEADER', token.summary_fields.application.name) }}">
|
||||
header-value="{{ token.summary_fields.application.name ?
|
||||
vm.strings.get('list.HEADER', token.summary_fields.application.name) :
|
||||
vm.strings.get('list.PERSONAL_ACCESS_TOKEN')
|
||||
}}">
|
||||
</at-row-item>
|
||||
<at-row-item
|
||||
label-value="{{:: vm.strings.get('list.ROW_ITEM_LABEL_DESCRIPTION') }}"
|
||||
|
||||
@ -4,6 +4,19 @@ import ListController from './users-tokens-list.controller';
|
||||
|
||||
const listTemplate = require('~features/users/tokens/users-tokens-list.partial.html');
|
||||
|
||||
function TokensListResolve ($q, Token) {
|
||||
const promises = {};
|
||||
|
||||
promises.token = new Token('options');
|
||||
|
||||
return $q.all(promises);
|
||||
}
|
||||
|
||||
TokensListResolve.$inject = [
|
||||
'$q',
|
||||
'TokenModel',
|
||||
];
|
||||
|
||||
export default {
|
||||
url: '/tokens',
|
||||
name: 'users.edit.tokens',
|
||||
@ -32,6 +45,7 @@ export default {
|
||||
}
|
||||
},
|
||||
resolve: {
|
||||
resolvedModels: TokensListResolve,
|
||||
Dataset: [
|
||||
'$stateParams',
|
||||
'Wait',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user