mirror of
https://github.com/ansible/awx.git
synced 2026-03-20 18:37:39 -02:30
Merge pull request #7943 from mabashian/7660-workflow-details
Adds workflow detail tab to workflow results Reviewed-by: Jake McDermott <yo@jakemcdermott.me> https://github.com/jakemcdermott
This commit is contained in:
@@ -7,10 +7,8 @@ import { Card, PageSection } from '@patternfly/react-core';
|
|||||||
import { JobsAPI } from '../../api';
|
import { JobsAPI } from '../../api';
|
||||||
import ContentError from '../../components/ContentError';
|
import ContentError from '../../components/ContentError';
|
||||||
import RoutedTabs from '../../components/RoutedTabs';
|
import RoutedTabs from '../../components/RoutedTabs';
|
||||||
|
|
||||||
import JobDetail from './JobDetail';
|
import JobDetail from './JobDetail';
|
||||||
import JobOutput from './JobOutput';
|
import JobOutput from './JobOutput';
|
||||||
import WorkflowDetail from './WorkflowDetail';
|
|
||||||
import { WorkflowOutput } from './WorkflowOutput';
|
import { WorkflowOutput } from './WorkflowOutput';
|
||||||
import { JOB_TYPE_URL_SEGMENTS } from '../../constants';
|
import { JOB_TYPE_URL_SEGMENTS } from '../../constants';
|
||||||
|
|
||||||
@@ -129,7 +127,7 @@ class Job extends Component {
|
|||||||
{job &&
|
{job &&
|
||||||
job.type === 'workflow_job' && [
|
job.type === 'workflow_job' && [
|
||||||
<Route key="workflow-details" path="/jobs/workflow/:id/details">
|
<Route key="workflow-details" path="/jobs/workflow/:id/details">
|
||||||
<WorkflowDetail job={job} />
|
<JobDetail type={match.params.type} job={job} />
|
||||||
</Route>,
|
</Route>,
|
||||||
<Route key="workflow-output" path="/jobs/workflow/:id/output">
|
<Route key="workflow-output" path="/jobs/workflow/:id/output">
|
||||||
<WorkflowOutput job={job} />
|
<WorkflowOutput job={job} />
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ function JobDetail({ job, i18n }) {
|
|||||||
instance_group: instanceGroup,
|
instance_group: instanceGroup,
|
||||||
inventory,
|
inventory,
|
||||||
job_template: jobTemplate,
|
job_template: jobTemplate,
|
||||||
|
workflow_job_template: workflowJobTemplate,
|
||||||
labels,
|
labels,
|
||||||
project,
|
project,
|
||||||
} = job.summary_fields;
|
} = job.summary_fields;
|
||||||
@@ -143,7 +144,7 @@ function JobDetail({ job, i18n }) {
|
|||||||
/>
|
/>
|
||||||
{jobTemplate && (
|
{jobTemplate && (
|
||||||
<Detail
|
<Detail
|
||||||
label={i18n._(t`Template`)}
|
label={i18n._(t`Job Template`)}
|
||||||
value={
|
value={
|
||||||
<Link to={`/templates/job_template/${jobTemplate.id}`}>
|
<Link to={`/templates/job_template/${jobTemplate.id}`}>
|
||||||
{jobTemplate.name}
|
{jobTemplate.name}
|
||||||
@@ -151,6 +152,18 @@ function JobDetail({ job, i18n }) {
|
|||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
{workflowJobTemplate && (
|
||||||
|
<Detail
|
||||||
|
label={i18n._(t`Workflow Job Template`)}
|
||||||
|
value={
|
||||||
|
<Link
|
||||||
|
to={`/templates/workflow_job_template/${workflowJobTemplate.id}`}
|
||||||
|
>
|
||||||
|
{workflowJobTemplate.name}
|
||||||
|
</Link>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
<Detail label={i18n._(t`Job Type`)} value={toTitleCase(job.job_type)} />
|
<Detail label={i18n._(t`Job Type`)} value={toTitleCase(job.job_type)} />
|
||||||
<Detail
|
<Detail
|
||||||
label={i18n._(t`Launched By`)}
|
label={i18n._(t`Launched By`)}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ describe('<JobDetail />', () => {
|
|||||||
assertDetail('Status', 'Successful');
|
assertDetail('Status', 'Successful');
|
||||||
assertDetail('Started', '8/8/2019, 7:24:18 PM');
|
assertDetail('Started', '8/8/2019, 7:24:18 PM');
|
||||||
assertDetail('Finished', '8/8/2019, 7:24:50 PM');
|
assertDetail('Finished', '8/8/2019, 7:24:50 PM');
|
||||||
assertDetail('Template', mockJobData.summary_fields.job_template.name);
|
assertDetail('Job Template', mockJobData.summary_fields.job_template.name);
|
||||||
assertDetail('Job Type', 'Run');
|
assertDetail('Job Type', 'Run');
|
||||||
assertDetail('Launched By', mockJobData.summary_fields.created_by.username);
|
assertDetail('Launched By', mockJobData.summary_fields.created_by.username);
|
||||||
assertDetail('Inventory', mockJobData.summary_fields.inventory.name);
|
assertDetail('Inventory', mockJobData.summary_fields.inventory.name);
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
|
|
||||||
function WorkflowDetail() {
|
|
||||||
return <div>Workflow Detail!</div>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export default WorkflowDetail;
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
export { default } from './WorkflowDetail';
|
|
||||||
Reference in New Issue
Block a user