From 729256c3d16400a65b798f662730d36d309d4e71 Mon Sep 17 00:00:00 2001 From: kialam Date: Thu, 8 Nov 2018 13:21:12 -0500 Subject: [PATCH] Fix DETAILS link in WF viz not working until after job has ran - Make additional GET request if we need it in order to surface the job type so that we can properly redirect the user to the detail page. --- .../workflow-chart.directive.js | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/awx/ui/client/src/templates/workflows/workflow-chart/workflow-chart.directive.js b/awx/ui/client/src/templates/workflows/workflow-chart/workflow-chart.directive.js index 928a636ec7..fefeecf385 100644 --- a/awx/ui/client/src/templates/workflows/workflow-chart/workflow-chart.directive.js +++ b/awx/ui/client/src/templates/workflows/workflow-chart/workflow-chart.directive.js @@ -1091,9 +1091,32 @@ export default ['$state', 'moment', '$timeout', '$window', '$filter', 'Rest', 'G } }; - if (d.job.id) { + if (d.job.type) { goToJobResults(d.job.type); } + else { + // We don't have access to the job type and have to make + // a GET request in order to find out what type job this was + // so that we can route the user to the correct stdout view + Rest.setUrl(GetBasePath("workflow_jobs") + `${d.originalNodeObj.workflow_job}/workflow_nodes/?order_by=id`); + Rest.get() + .then(function (res) { + if (res.data.results && res.data.results.length > 0) { + const { results } = res.data; + const job = results.filter(result => result.summary_fields.job.id === d.job.id); + goToJobResults(job[0].summary_fields.job.type); + } + }) + .catch(({ + data, + status + }) => { + ProcessErrors(scope, data, status, null, { + hdr: 'Error!', + msg: 'Unable to get job: ' + status + }); + }); + } }); }