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