move users tokens to features folder

This commit is contained in:
John Mitchell
2018-03-16 17:15:28 -04:00
parent 8babac49a6
commit cbc20093d7
16 changed files with 84 additions and 60 deletions

View File

@@ -1 +1,2 @@
@import 'credentials/_index'; @import 'credentials/_index';
@import 'users/tokens/_index';

View File

@@ -5,6 +5,7 @@ import atLibModels from '~models';
import atFeaturesApplications from '~features/applications'; import atFeaturesApplications from '~features/applications';
import atFeaturesCredentials from '~features/credentials'; import atFeaturesCredentials from '~features/credentials';
import atFeaturesTemplates from '~features/templates'; import atFeaturesTemplates from '~features/templates';
import atFeaturesUsers from '~features/users';
const MODULE_NAME = 'at.features'; const MODULE_NAME = 'at.features';
@@ -14,7 +15,8 @@ angular.module(MODULE_NAME, [
atLibModels, atLibModels,
atFeaturesApplications, atFeaturesApplications,
atFeaturesCredentials, atFeaturesCredentials,
atFeaturesTemplates atFeaturesTemplates,
atFeaturesUsers
]); ]);
export default MODULE_NAME; export default MODULE_NAME;

View File

@@ -0,0 +1,8 @@
import atFeaturesUsersTokens from '~features/users/tokens';
const MODULE_NAME = 'at.features.users';
angular
.module(MODULE_NAME, [atFeaturesUsersTokens]);
export default MODULE_NAME;

View File

@@ -7,6 +7,3 @@
font-weight: bold; font-weight: bold;
width: 130px; width: 130px;
} }
.TokenModal-value {
}

View File

@@ -0,0 +1,9 @@
import TokensStrings from './tokens.strings';
const MODULE_NAME = 'at.features.users.tokens';
angular
.module(MODULE_NAME, [])
.service('TokensStrings', TokensStrings);
export default MODULE_NAME;

View File

@@ -25,7 +25,10 @@ function TokensStrings (BaseString) {
ERROR_HEADER: t.s('COULD NOT CREATE TOKEN'), ERROR_HEADER: t.s('COULD NOT CREATE TOKEN'),
ERROR_BODY_LABEL: t.s('Returned status:'), ERROR_BODY_LABEL: t.s('Returned status:'),
LAST_USED_LABEL: t.s('by'), LAST_USED_LABEL: t.s('by'),
DELETE_ACTION_LABEL: t.s('DELETE') DELETE_ACTION_LABEL: t.s('DELETE'),
SCOPE_PLACEHOLDER: t.s('Select a scope'),
SCOPE_READ_LABEL: t.s('Read'),
SCOPE_WRITE_LABEL: t.s('Write')
}; };
ns.list = { ns.list = {

View File

@@ -33,27 +33,25 @@ export default {
} }
}, },
resolve: { resolve: {
ListDefinition: [() => { ListDefinition: [() => ({
return { name: 'applications',
name: 'applications', iterator: 'application',
iterator: 'application', hover: true,
hover: true, index: false,
index: false, fields: {
fields: { name: {
name: { key: true,
key: true, label: 'Name',
label: 'Name', columnClass: 'col-lg-4 col-md-6 col-sm-8 col-xs-8',
columnClass: 'col-lg-4 col-md-6 col-sm-8 col-xs-8', awToolTip: '{{application.description | sanitize}}',
awToolTip: '{{application.description | sanitize}}', dataPlacement: 'top'
dataPlacement: 'top'
},
}, },
actions: { },
}, actions: {
fieldActions: { },
} fieldActions: {
} }
}], })],
Dataset: ['QuerySet', 'GetBasePath', '$stateParams', 'ListDefinition', Dataset: ['QuerySet', 'GetBasePath', '$stateParams', 'ListDefinition',
(qs, GetBasePath, $stateParams, list) => qs.search( (qs, GetBasePath, $stateParams, list) => qs.search(
GetBasePath('applications'), GetBasePath('applications'),
@@ -68,4 +66,4 @@ export default {
$('body').removeClass('modal-open'); $('body').removeClass('modal-open');
} }
} }
} };

View File

@@ -1,4 +1,7 @@
function AddTokensController (models, $state, strings, Rest, Alert, Wait, GetBasePath, $filter) { function AddTokensController (
models, $state, strings, Rest, Alert, Wait, GetBasePath,
$filter, ProcessErrors
) {
const vm = this || {}; const vm = this || {};
const { application } = models; const { application } = models;
@@ -28,21 +31,29 @@ function AddTokensController (models, $state, strings, Rest, Alert, Wait, GetBas
vm.form.description.required = false; vm.form.description.required = false;
vm.form.scope = { vm.form.scope = {
choices: ['', 'read', 'write'], choices: [
'',
'read',
'write'
],
help_text: strings.get('add.SCOPE_HELP_TEXT'), help_text: strings.get('add.SCOPE_HELP_TEXT'),
id: 'scope', id: 'scope',
label: 'Scope', label: 'Scope',
required: true, required: true,
_component: 'at-input-select', _component: 'at-input-select',
_data: ['', 'read', 'write'], _data: [
strings.get('add.SCOPE_PLACEHOLDER'),
strings.get('add.SCOPE_READ_LABEL'),
strings.get('add.SCOPE_WRITE_LABEL')
],
_exp: 'choice for (index, choice) in state._data', _exp: 'choice for (index, choice) in state._data',
_format: 'array' _format: 'array'
} };
vm.form.save = data => { vm.form.save = payload => {
Rest.setUrl(GetBasePath('users') + $state.params.user_id + '/authorized_tokens'); Rest.setUrl(`${GetBasePath('users')}${$state.params.user_id}/authorized_tokens`);
return Rest.post(data) return Rest.post(payload)
.then(({data}) => { .then(({ data }) => {
Alert(strings.get('add.TOKEN_MODAL_HEADER'), ` Alert(strings.get('add.TOKEN_MODAL_HEADER'), `
<div class="TokenModal"> <div class="TokenModal">
<div class="TokenModal-label"> <div class="TokenModal-label">
@@ -71,8 +82,8 @@ function AddTokensController (models, $state, strings, Rest, Alert, Wait, GetBas
`, null, null, null, null, null, true); `, null, null, null, null, null, true);
Wait('stop'); Wait('stop');
}) })
.catch(({data, status}) => { .catch(({ data, status }) => {
ProcessErrors($scope, data, status, null, { ProcessErrors(null, data, status, null, {
hdr: strings.get('add.ERROR_HEADER'), hdr: strings.get('add.ERROR_HEADER'),
msg: `${strings.get('add.ERROR_BODY_LABEL')} ${status}` msg: `${strings.get('add.ERROR_BODY_LABEL')} ${status}`
}); });
@@ -80,7 +91,7 @@ function AddTokensController (models, $state, strings, Rest, Alert, Wait, GetBas
}); });
}; };
vm.form.onSaveSuccess = res => { vm.form.onSaveSuccess = () => {
$state.go('^', { user_id: $state.params.user_id }, { reload: true }); $state.go('^', { user_id: $state.params.user_id }, { reload: true });
}; };
} }
@@ -88,12 +99,13 @@ function AddTokensController (models, $state, strings, Rest, Alert, Wait, GetBas
AddTokensController.$inject = [ AddTokensController.$inject = [
'resolvedModels', 'resolvedModels',
'$state', '$state',
'ApplicationsStrings', 'TokensStrings',
'Rest', 'Rest',
'Alert', 'Alert',
'Wait', 'Wait',
'GetBasePath', 'GetBasePath',
'$filter' '$filter',
'ProcessErrors'
]; ];
export default AddTokensController; export default AddTokensController;

View File

@@ -1,10 +1,9 @@
import { N_ } from '../i18n'; import { N_ } from '../../../src/i18n';
import AddController from './users-tokens-add.controller'; import AddController from './users-tokens-add.controller';
const addTemplate = require('~src/users/users-tokens-add.partial.html'); const addTemplate = require('~features/users/tokens/users-tokens-add.partial.html');
function TokensDetailResolve ($q, Application) { function TokensDetailResolve ($q, Application) {
const promises = {}; const promises = {};
promises.application = new Application('options'); promises.application = new Application('options');
@@ -18,12 +17,12 @@ TokensDetailResolve.$inject = [
]; ];
export default { export default {
url: "/add-token", url: '/add-token',
name: 'users.edit.tokens.add', name: 'users.edit.tokens.add',
params: { params: {
}, },
ncyBreadcrumb: { ncyBreadcrumb: {
label: N_("CREATE TOKEN") label: N_('CREATE TOKEN')
}, },
views: { views: {
'preFormView@users.edit': { 'preFormView@users.edit': {

View File

@@ -47,7 +47,7 @@ function ListTokensController (
let html = $filter('longDate')(lastUsed); let html = $filter('longDate')(lastUsed);
const { username, id } = _.get(user, 'summary_fields.last_used', {}); const { username, id } = _.get(token, 'summary_fields.last_used', {});
if (username && id) { if (username && id) {
html += ` ${strings.get('add.LAST_USED_LABEL')} <a href="/#/users/${id}">${$filter('sanitize')(username)}</a>`; html += ` ${strings.get('add.LAST_USED_LABEL')} <a href="/#/users/${id}">${$filter('sanitize')(username)}</a>`;

View File

@@ -1,19 +1,17 @@
import { N_ } from '../i18n'; import { N_ } from '../../../src/i18n';
import ListController from './users-tokens-list.controller'; import ListController from './users-tokens-list.controller';
const listTemplate = require('~src/users/users-tokens-list.partial.html'); const listTemplate = require('~features/users/tokens/users-tokens-list.partial.html');
export default { export default {
url: "/tokens", url: '/tokens',
name: 'users.edit.tokens', name: 'users.edit.tokens',
params: {
},
ncyBreadcrumb: { ncyBreadcrumb: {
label: N_("TOKENS") label: N_('TOKENS')
}, },
views: { views: {
'related': { related: {
templateUrl: listTemplate, templateUrl: listTemplate,
controller: ListController, controller: ListController,
controllerAs: 'vm' controllerAs: 'vm'
@@ -36,7 +34,7 @@ export default {
'QuerySet', 'QuerySet',
($stateParams, Wait, GetBasePath, qs) => { ($stateParams, Wait, GetBasePath, qs) => {
const searchParam = $stateParams.token_search; const searchParam = $stateParams.token_search;
const searchPath = GetBasePath('users') + $stateParams.user_id + '/tokens'; const searchPath = `${GetBasePath('users')}${$stateParams.user_id}/tokens`;
Wait('start'); Wait('start');
return qs.search(searchPath, searchParam) return qs.search(searchPath, searchParam)
.finally(() => { .finally(() => {

View File

@@ -136,7 +136,6 @@
@import '../../src/tooltip/tooltip.block.less'; @import '../../src/tooltip/tooltip.block.less';
@import '../../src/workflow-results/workflow-status-bar/workflow-status-bar.block.less'; @import '../../src/workflow-results/workflow-status-bar/workflow-status-bar.block.less';
@import '../../src/workflow-results/workflow-results.block.less'; @import '../../src/workflow-results/workflow-results.block.less';
@import '../../src/users/token-modal.block.less';
/** /**

View File

@@ -9,10 +9,10 @@ import UsersAdd from './add/users-add.controller';
import UsersEdit from './edit/users-edit.controller'; import UsersEdit from './edit/users-edit.controller';
import UserForm from './users.form'; import UserForm from './users.form';
import UserList from './users.list'; import UserList from './users.list';
import UserTokensListRoute from './users-tokens-list.route';
import UserTokensAddRoute from './users-tokens-add.route'; import UserTokensListRoute from '../../features/users/tokens/users-tokens-list.route';
import UserTokensAddApplicationRoute from './users-tokens-add-application.route'; import UserTokensAddRoute from '../../features/users/tokens/users-tokens-add.route';
import TokensStrings from './tokens.strings'; import UserTokensAddApplicationRoute from '../../features/users/tokens/users-tokens-add-application.route';
import { N_ } from '../i18n'; import { N_ } from '../i18n';
@@ -23,8 +23,6 @@ angular.module('Users', [])
.controller('UsersEdit', UsersEdit) .controller('UsersEdit', UsersEdit)
.factory('UserForm', UserForm) .factory('UserForm', UserForm)
.factory('UserList', UserList) .factory('UserList', UserList)
.service('TokensStrings', TokensStrings)
.config(['$stateProvider', 'stateDefinitionsProvider', '$stateExtenderProvider', .config(['$stateProvider', 'stateDefinitionsProvider', '$stateExtenderProvider',
function($stateProvider, stateDefinitionsProvider, $stateExtenderProvider) { function($stateProvider, stateDefinitionsProvider, $stateExtenderProvider) {
let stateDefinitions = stateDefinitionsProvider.$get(); let stateDefinitions = stateDefinitionsProvider.$get();