diff --git a/awx/ui/static/js/controllers/JobDetail.js b/awx/ui/static/js/controllers/JobDetail.js index a6a651cd49..a1a8a9e6de 100644 --- a/awx/ui/static/js/controllers/JobDetail.js +++ b/awx/ui/static/js/controllers/JobDetail.js @@ -478,7 +478,7 @@ function JobDetailController ($location, $rootScope, $scope, $compile, $routePar scope.selectedPlay = scope.activePlay; } else { // if we are here, there are no plays and the job has failed, let the user know they may want to consult stdout - if (scope.job_status.status === 'failed' || scope.job_status.status === 'error' && + if ( (scope.job_status.status === 'failed' || scope.job_status.status === 'error') && (!scope.job_status.explanation)) { scope.job_status.explanation = "View stdout for more detail "; } @@ -671,7 +671,9 @@ function JobDetailController ($location, $rootScope, $scope, $compile, $routePar scope.job_status.started = data.started; scope.job_status.status_class = ((data.status === 'error' || data.status === 'failed') && data.job_explanation) ? "alert alert-danger" : ""; scope.job_status.explanation = data.job_explanation; - + if(data.result_traceback) { + scope.job_status.traceback = data.result_traceback.trim().split('\n').join('
'); + } if (data.status === 'successful' || data.status === 'failed' || data.status === 'error' || data.status === 'canceled') { scope.job_status.finished = data.finished; scope.liveEventProcessing = false; diff --git a/awx/ui/static/partials/job_detail.html b/awx/ui/static/partials/job_detail.html index 68142f2523..ac073e29aa 100644 --- a/awx/ui/static/partials/job_detail.html +++ b/awx/ui/static/partials/job_detail.html @@ -14,7 +14,10 @@
-
+ +
{{ job_status.status }}
+ +
@@ -29,13 +32,17 @@
-
- -
{{ job_status.status }}
-
+
+ +
-
+
+ +
+
+ +
Started  {{ job_status.started | date:'MM/dd/yy HH:mm:ss' }}