Files
awx/awx/ui/client/features/credentials/index.js
gconsidine 727568c80d Add translation for components and credentials
* Add typeahead feature of the Lookup component
2017-06-29 17:34:43 -04:00

114 lines
3.5 KiB
JavaScript

import LegacyCredentials from './legacy.credentials';
import AddController from './add-credentials.controller';
import EditController from './edit-credentials.controller';
import CredentialsStrings from './credentials.strings'
function CredentialsResolve ($q, $stateParams, Me, Credential, CredentialType, Organization) {
let id = $stateParams.credential_id;
let models;
let promises = {
me: new Me('get'),
credentialType: new CredentialType('get'),
organization: new Organization('get')
};
if (!id) {
promises.credential = new Credential('options');
return $q.all(promises)
}
promises.credential = new Credential(['get', 'options'], [id, id]);
return $q.all(promises)
.then(_models_ => {
models = _models_;
let credentialTypeId = models.credential.get('credential_type');
return models.credentialType.graft(credentialTypeId);
})
.then(selectedCredentialType => {
models.selectedCredentialType = selectedCredentialType;
return models;
});
}
CredentialsResolve.$inject = [
'$q',
'$stateParams',
'MeModel',
'CredentialModel',
'CredentialTypeModel',
'OrganizationModel'
];
function CredentialsConfig ($stateExtenderProvider, legacyProvider, pathProvider, stringProvider) {
let path = pathProvider.$get();
let stateExtender = $stateExtenderProvider.$get();
let legacy = legacyProvider.$get();
let strings = stringProvider.$get();
strings = strings.credentials.state;
stateExtender.addState({
name: 'credentials.add',
route: '/add',
ncyBreadcrumb: {
label: strings.ADD_BREADCRUMB_LABEL
},
views: {
'add@credentials': {
templateUrl: path.getViewPath('credentials/add-edit-credentials'),
controller: AddController,
controllerAs: 'vm'
}
},
resolve: {
resolvedModels: CredentialsResolve
}
});
stateExtender.addState({
name: 'credentials.edit',
route: '/:credential_id',
ncyBreadcrumb: {
label: strings.EDIT_BREADCRUMB_LABEL
},
views: {
'edit@credentials': {
templateUrl: path.getViewPath('credentials/add-edit-credentials'),
controller: EditController,
controllerAs: 'vm'
}
},
resolve: {
resolvedModels: CredentialsResolve
}
});
stateExtender.addState(legacy.getStateConfiguration('list'));
stateExtender.addState(legacy.getStateConfiguration('edit-permissions'));
stateExtender.addState(legacy.getStateConfiguration('add-permissions'));
stateExtender.addState(legacy.getStateConfiguration('add-organization'));
stateExtender.addState(legacy.getStateConfiguration('edit-organization'));
stateExtender.addState(legacy.getStateConfiguration('add-credential-type'));
stateExtender.addState(legacy.getStateConfiguration('edit-credential-type'));
}
CredentialsConfig.$inject = [
'$stateExtenderProvider',
'LegacyCredentialsServiceProvider',
'PathServiceProvider',
'CredentialsStringsProvider'
];
angular
.module('at.features.credentials', [])
.config(CredentialsConfig)
.controller('AddController', AddController)
.controller('EditController', EditController)
.service('LegacyCredentialsService', LegacyCredentials)
.service('CredentialsStrings', CredentialsStrings);