mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 18:07:36 -02:30
Added completed jobs tab to the workflow form
This commit is contained in:
@@ -0,0 +1,59 @@
|
|||||||
|
import { N_ } from '../../../src/i18n';
|
||||||
|
import jobsListController from '../jobsList.controller';
|
||||||
|
|
||||||
|
const jobsListTemplate = require('~features/jobs/jobsList.view.html');
|
||||||
|
|
||||||
|
export default {
|
||||||
|
url: '/completed_jobs',
|
||||||
|
name: 'templates.editWorkflowJobTemplate.completed_jobs',
|
||||||
|
params: {
|
||||||
|
job_search: {
|
||||||
|
value: {
|
||||||
|
page_size: '20',
|
||||||
|
workflow_job__workflow_job_template: '',
|
||||||
|
order_by: '-id'
|
||||||
|
},
|
||||||
|
dynamic: true,
|
||||||
|
squash: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ncyBreadcrumb: {
|
||||||
|
label: N_('COMPLETED JOBS')
|
||||||
|
},
|
||||||
|
views: {
|
||||||
|
related: {
|
||||||
|
templateUrl: jobsListTemplate,
|
||||||
|
controller: jobsListController,
|
||||||
|
controllerAs: 'vm'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
resolvedModels: [
|
||||||
|
'UnifiedJobModel',
|
||||||
|
(UnifiedJob) => {
|
||||||
|
const models = [
|
||||||
|
new UnifiedJob(['options']),
|
||||||
|
];
|
||||||
|
return Promise.all(models);
|
||||||
|
},
|
||||||
|
],
|
||||||
|
Dataset: [
|
||||||
|
'$stateParams',
|
||||||
|
'Wait',
|
||||||
|
'GetBasePath',
|
||||||
|
'QuerySet',
|
||||||
|
($stateParams, Wait, GetBasePath, qs) => {
|
||||||
|
const templateId = $stateParams.workflow_job_template_id;
|
||||||
|
|
||||||
|
const searchParam = _.assign($stateParams
|
||||||
|
.job_search, { workflow_job__workflow_job_template: templateId });
|
||||||
|
|
||||||
|
const searchPath = GetBasePath('unified_jobs');
|
||||||
|
|
||||||
|
Wait('start');
|
||||||
|
return qs.search(searchPath, searchParam)
|
||||||
|
.finally(() => Wait('stop'));
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -20,6 +20,7 @@ import InventorySourcesList from './inventory-sources.list';
|
|||||||
import TemplateList from './templates.list';
|
import TemplateList from './templates.list';
|
||||||
import listRoute from '~features/templates/routes/templatesList.route.js';
|
import listRoute from '~features/templates/routes/templatesList.route.js';
|
||||||
import templateCompletedJobsRoute from '~features/jobs/routes/templateCompletedJobs.route.js';
|
import templateCompletedJobsRoute from '~features/jobs/routes/templateCompletedJobs.route.js';
|
||||||
|
import workflowJobTemplateCompletedJobsRoute from '~features/jobs/routes/workflowJobTemplateCompletedJobs.route.js';
|
||||||
|
|
||||||
export default
|
export default
|
||||||
angular.module('templates', [surveyMaker.name, jobTemplates.name, labels.name, prompt.name, workflowAdd.name, workflowEdit.name,
|
angular.module('templates', [surveyMaker.name, jobTemplates.name, labels.name, prompt.name, workflowAdd.name, workflowEdit.name,
|
||||||
@@ -746,6 +747,7 @@ angular.module('templates', [surveyMaker.name, jobTemplates.name, labels.name, p
|
|||||||
}, [
|
}, [
|
||||||
stateExtender.buildDefinition(listRoute),
|
stateExtender.buildDefinition(listRoute),
|
||||||
stateExtender.buildDefinition(templateCompletedJobsRoute),
|
stateExtender.buildDefinition(templateCompletedJobsRoute),
|
||||||
|
stateExtender.buildDefinition(workflowJobTemplateCompletedJobsRoute),
|
||||||
stateExtender.buildDefinition(workflowMaker)
|
stateExtender.buildDefinition(workflowMaker)
|
||||||
])
|
])
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -176,6 +176,11 @@ export default ['NotificationsList', 'i18n', function(NotificationsList, i18n) {
|
|||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
include: "NotificationsList"
|
include: "NotificationsList"
|
||||||
|
},
|
||||||
|
"completed_jobs": {
|
||||||
|
title: i18n._('Completed Jobs'),
|
||||||
|
skipGenerator: true,
|
||||||
|
ngClick: "$state.go('templates.editWorkflowJobTemplate.completed_jobs')"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user