mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 18:09:57 -03:30
Fixed dashboard hosts edit
This commit is contained in:
parent
4f9d2fbde3
commit
0ba47c1246
@ -7,9 +7,7 @@
|
||||
export default
|
||||
['$scope', '$state', '$stateParams', 'DashboardHostsForm', 'GenerateForm', 'ParseTypeChange', 'DashboardHostService', 'host',
|
||||
function($scope, $state, $stateParams, DashboardHostsForm, GenerateForm, ParseTypeChange, DashboardHostService, host){
|
||||
var generator = GenerateForm,
|
||||
form = DashboardHostsForm;
|
||||
$scope.parseType = 'yaml';
|
||||
$scope.parseType = 'yaml';
|
||||
$scope.formCancel = function(){
|
||||
$state.go('^', null, {reload: true});
|
||||
};
|
||||
@ -33,11 +31,10 @@
|
||||
|
||||
};
|
||||
var init = function(){
|
||||
$scope.host = host;
|
||||
generator.inject(form, {mode: 'edit', related: false, scope: $scope});
|
||||
$scope.name = host.name;
|
||||
$scope.description = host.description;
|
||||
$scope.variables = host.variables === '' ? '---' : host.variables;
|
||||
$scope.host = host.data;
|
||||
$scope.name = host.data.name;
|
||||
$scope.description = host.data.description;
|
||||
$scope.variables = host.data.variables === '' ? '---' : host.data.variables;
|
||||
ParseTypeChange({
|
||||
scope: $scope,
|
||||
field_id: 'host_variables',
|
||||
|
||||
@ -39,7 +39,7 @@ export default ['$scope', '$state', '$stateParams', 'GetBasePath', 'DashboardHos
|
||||
}
|
||||
|
||||
$scope.editHost = function(id) {
|
||||
$state.go('dashboardHosts.edit', { id: id });
|
||||
$state.go('dashboardHosts.edit', { host_id: id });
|
||||
};
|
||||
|
||||
$scope.toggleHostEnabled = function(host) {
|
||||
|
||||
@ -12,6 +12,7 @@ export default function(){
|
||||
formLabelSize: 'col-lg-3',
|
||||
formFieldSize: 'col-lg-9',
|
||||
iterator: 'host',
|
||||
basePath: 'hosts',
|
||||
headerFields:{
|
||||
enabled: {
|
||||
//flag: 'host.enabled',
|
||||
|
||||
@ -23,7 +23,9 @@ angular.module('dashboardHosts', [])
|
||||
name: 'dashboardHosts',
|
||||
url: '/home/hosts',
|
||||
lazyLoad: () => stateDefinitions.generateTree({
|
||||
url: '/home/hosts',
|
||||
urls: {
|
||||
list: '/home/hosts'
|
||||
},
|
||||
parent: 'dashboardHosts',
|
||||
modes: ['edit'],
|
||||
list: 'DashboardHostsList',
|
||||
@ -32,6 +34,17 @@ angular.module('dashboardHosts', [])
|
||||
list: listController,
|
||||
edit: editController
|
||||
},
|
||||
resolve: {
|
||||
edit: {
|
||||
host: ['Rest', '$stateParams', 'GetBasePath',
|
||||
function(Rest, $stateParams, GetBasePath) {
|
||||
let path = GetBasePath('hosts') + $stateParams.host_id;
|
||||
Rest.setUrl(path);
|
||||
return Rest.get();
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
data: {
|
||||
activityStream: true,
|
||||
activityStreamTarget: 'host'
|
||||
|
||||
@ -53,9 +53,10 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
||||
|
||||
formStates = _.map(params.modes, (mode) => this.generateFormNode(mode, form, params));
|
||||
states = states.concat(_.flatten(formStates));
|
||||
$log.debug('*** Generated State Tree', states);
|
||||
resolve({ states: states });
|
||||
}
|
||||
|
||||
$log.debug('*** Generated State Tree', states);
|
||||
resolve({ states: states });
|
||||
});
|
||||
},
|
||||
|
||||
@ -68,7 +69,8 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
||||
* @returns {object} a list state definition
|
||||
*/
|
||||
generateListNode: function(list, params) {
|
||||
let state;
|
||||
let state,
|
||||
url = params.urls && params.urls.list ? params.urls.list : (params.url ? params.url : `/${list.name}`);
|
||||
|
||||
// allows passed-in params to specify a custom templateUrl
|
||||
// otherwise, use html returned by generateList.build() to fulfill templateProvider fn
|
||||
@ -90,7 +92,7 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
||||
state = $stateExtender.buildDefinition({
|
||||
searchPrefix: list.iterator,
|
||||
name: params.parent,
|
||||
url: (params.url || `/${list.name}`),
|
||||
url: url,
|
||||
data: params.data,
|
||||
ncyBreadcrumb: {
|
||||
label: list.title
|
||||
@ -135,14 +137,17 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
||||
* @returns {array} Array of state definitions required by form mode [{...}, {...}, ...]
|
||||
*/
|
||||
generateFormNode: function(mode, form, params) {
|
||||
let formNode, states = [];
|
||||
let formNode,
|
||||
states = [],
|
||||
url;
|
||||
switch (mode) {
|
||||
case 'add':
|
||||
url = params.urls && params.urls.add ? params.urls.add : (params.url ? params.url : '/add');
|
||||
// breadcrumbName necessary for resources that are more than one word like
|
||||
// job templates. form.name can't have spaces in it or it busts form gen
|
||||
formNode = $stateExtender.buildDefinition({
|
||||
name: params.name || `${params.parent}.add`,
|
||||
url: params.url || '/add',
|
||||
url: url,
|
||||
ncyBreadcrumb: {
|
||||
[params.parent ? 'parent' : null]: `${params.parent}`,
|
||||
label: `CREATE ${form.breadcrumbName || form.name}`
|
||||
@ -171,9 +176,10 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
|
||||
}
|
||||
break;
|
||||
case 'edit':
|
||||
url = params.urls && params.urls.edit ? params.urls.edit : (params.url ? params.url : `/:${form.name}_id`);
|
||||
formNode = $stateExtender.buildDefinition({
|
||||
name: params.name || `${params.parent}.edit`,
|
||||
url: (params.url || `/:${form.name}_id`),
|
||||
url: url,
|
||||
ncyBreadcrumb: {
|
||||
[params.parent ? 'parent' : null]: `${params.parent}`,
|
||||
label: '{{parentObject.name || name}}'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user