mirror of
https://github.com/ansible/awx.git
synced 2026-01-22 06:58:06 -03:30
Add Me model for credential submission
This commit is contained in:
parent
15759b65aa
commit
a3099ac285
@ -1,6 +1,8 @@
|
||||
function AddCredentialsController (models, $state) {
|
||||
let vm = this || {};
|
||||
|
||||
console.log($state.get());
|
||||
let me = models.me;
|
||||
let credential = models.credential;
|
||||
let credentialType = models.credentialType;
|
||||
|
||||
@ -9,7 +11,7 @@ function AddCredentialsController (models, $state) {
|
||||
});
|
||||
|
||||
vm.form.credential_type._data = credentialType.getResults();
|
||||
vm.form.credential_type._placeholder = 'Select A Type';
|
||||
vm.form.credential_type._placeholder = 'SELECT A TYPE';
|
||||
vm.form.credential_type._display = 'name';
|
||||
vm.form.credential_type._key = 'id';
|
||||
vm.form.credential_type._exp = 'type as type.name group by type.kind for type in state._data';
|
||||
@ -21,7 +23,15 @@ function AddCredentialsController (models, $state) {
|
||||
_key: 'inputs'
|
||||
};
|
||||
|
||||
vm.form.save = credential.post;
|
||||
vm.form.save = data => {
|
||||
data.user = me.getId();
|
||||
|
||||
return credential.post(data);
|
||||
};
|
||||
|
||||
vm.form.saveSuccess = res => {
|
||||
$state.go('credentials.edit', { id: res.data.id });
|
||||
};
|
||||
}
|
||||
|
||||
AddCredentialsController.$inject = [
|
||||
|
||||
@ -40,20 +40,27 @@ function config ($stateExtenderProvider, pathServiceProvider) {
|
||||
}
|
||||
});
|
||||
|
||||
function CredentialsAddResolve ($q, credentialModel, credentialTypeModel) {
|
||||
function CredentialsAddResolve ($q, meModel, credentialModel, credentialTypeModel) {
|
||||
let promises = [
|
||||
meModel.get(),
|
||||
credentialModel.options(),
|
||||
credentialTypeModel.get()
|
||||
];
|
||||
|
||||
return $q.all(promises)
|
||||
.then(() => ({
|
||||
me: meModel,
|
||||
credential: credentialModel,
|
||||
credentialType: credentialTypeModel
|
||||
}));
|
||||
}
|
||||
|
||||
CredentialsAddResolve.$inject = ['$q', 'CredentialModel', 'CredentialTypeModel'];
|
||||
CredentialsAddResolve.$inject = [
|
||||
'$q',
|
||||
'MeModel',
|
||||
'CredentialModel',
|
||||
'CredentialTypeModel'
|
||||
];
|
||||
|
||||
stateExtender.addState({
|
||||
name: 'credentials.add',
|
||||
@ -73,20 +80,25 @@ function config ($stateExtenderProvider, pathServiceProvider) {
|
||||
}
|
||||
});
|
||||
|
||||
stateExtender.addState({
|
||||
name: 'credentials.edit',
|
||||
route: '/edit',
|
||||
ncyBreadcrumb: {
|
||||
label: N_('EDIT')
|
||||
},
|
||||
views: {
|
||||
'edit@credentials': {
|
||||
templateProvider: function() {
|
||||
return '<span>test-edit</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
/*
|
||||
*stateExtender.addState({
|
||||
* name: 'credentials.edit',
|
||||
* route: '/edit/:id',
|
||||
* ncyBreadcrumb: {
|
||||
* label: N_('EDIT')
|
||||
* },
|
||||
* views: {
|
||||
* 'edit@credentials': {
|
||||
* templateUrl: pathService.getViewPath('credentials/add-credentials'),
|
||||
* controller: AddController,
|
||||
* controllerAs: 'vm'
|
||||
* },
|
||||
* resolve: {
|
||||
* resolvedModels: CredentialsAddResolve
|
||||
* }
|
||||
* }
|
||||
*});
|
||||
*/
|
||||
}
|
||||
|
||||
config.$inject = [
|
||||
|
||||
@ -66,10 +66,8 @@ function AtFormController (eventService) {
|
||||
if (component.state._key && typeof component.state._value === 'object') {
|
||||
values[component.state.id] = component.state._value[component.state._key];
|
||||
} else if (component.state._group) {
|
||||
values[component.state._key] = values[component.state._key] || [];
|
||||
values[component.state._key].push({
|
||||
[component.state.id]: component.state._value
|
||||
});
|
||||
values[component.state._key] = values[component.state._key] || {};
|
||||
values[component.state._key][component.state.id] = component.state._value;
|
||||
} else {
|
||||
values[component.state.id] = component.state._value;
|
||||
}
|
||||
@ -77,17 +75,12 @@ function AtFormController (eventService) {
|
||||
return values;
|
||||
}, {});
|
||||
|
||||
|
||||
scope.state.save(data)
|
||||
.then(res => vm.onSaveSuccess(res))
|
||||
.then(scope.state.created)
|
||||
.catch(err => vm.onSaveError(err))
|
||||
.finally(() => vm.state.disabled = false);
|
||||
};
|
||||
|
||||
vm.onSaveSuccess = res => {
|
||||
console.info(res);
|
||||
};
|
||||
|
||||
vm.onSaveError = err => {
|
||||
let handled;
|
||||
|
||||
|
||||
@ -9,6 +9,8 @@ function BaseModel ($http) {
|
||||
return $http(request)
|
||||
.then(response => {
|
||||
this.model.get = response;
|
||||
|
||||
return response;
|
||||
});
|
||||
};
|
||||
|
||||
@ -22,6 +24,8 @@ function BaseModel ($http) {
|
||||
return $http(request)
|
||||
.then(response => {
|
||||
this.model.post = response;
|
||||
|
||||
return response;
|
||||
});
|
||||
};
|
||||
|
||||
@ -34,6 +38,8 @@ function BaseModel ($http) {
|
||||
return $http(request)
|
||||
.then(response => {
|
||||
this.model.options = response;
|
||||
|
||||
return response;
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
11
awx/ui/client/lib/models/Me.js
Normal file
11
awx/ui/client/lib/models/Me.js
Normal file
@ -0,0 +1,11 @@
|
||||
function MeModel (BaseModel) {
|
||||
BaseModel.call(this, 'me');
|
||||
|
||||
this.getId = () => {
|
||||
return this.model.get.data.results[0].id;
|
||||
};
|
||||
}
|
||||
|
||||
MeModel.$inject = ['BaseModel'];
|
||||
|
||||
export default MeModel;
|
||||
@ -1,10 +1,12 @@
|
||||
import Base from './Base';
|
||||
import Credential from './Credential';
|
||||
import CredentialType from './CredentialType';
|
||||
import Me from './Me';
|
||||
|
||||
angular
|
||||
.module('at.lib.models', [])
|
||||
.service('BaseModel', Base)
|
||||
.service('CredentialModel', Credential)
|
||||
.service('CredentialTypeModel', CredentialType);
|
||||
.service('CredentialTypeModel', CredentialType)
|
||||
.service('MeModel', Me);
|
||||
|
||||
|
||||
@ -7,7 +7,6 @@
|
||||
// Vendor dependencies
|
||||
import 'jquery';
|
||||
import 'angular';
|
||||
import 'angular-resource';
|
||||
import 'angular-gettext';
|
||||
import 'bootstrap';
|
||||
import 'jquery-ui';
|
||||
@ -72,7 +71,6 @@ import footer from './footer/main';
|
||||
import scheduler from './scheduler/main';
|
||||
import instanceGroups from './instance-groups/main';
|
||||
|
||||
import 'angular-animate';
|
||||
import '../lib/components';
|
||||
import '../lib/models';
|
||||
import '../lib/services';
|
||||
@ -137,7 +135,6 @@ var tower = angular.module('Tower', [
|
||||
'AWDirectives',
|
||||
'features',
|
||||
|
||||
'ngAnimate',
|
||||
'at.lib.components',
|
||||
'at.lib.models',
|
||||
'at.lib.services',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user