From a40f81c3273526e655ef62ab926caade659e69a3 Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Mon, 7 Aug 2017 13:52:42 -0700 Subject: [PATCH] adding error message if no json was returned for host event aka if event_data.res is undefined --- .../host-event/host-event-codemirror.partial.html | 3 ++- .../job-results/host-event/host-event.block.less | 13 +++++++++++++ .../host-event/host-event.controller.js | 15 ++++++++++----- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/awx/ui/client/src/job-results/host-event/host-event-codemirror.partial.html b/awx/ui/client/src/job-results/host-event/host-event-codemirror.partial.html index 7c744d2169..6a9797c0b8 100644 --- a/awx/ui/client/src/job-results/host-event/host-event-codemirror.partial.html +++ b/awx/ui/client/src/job-results/host-event/host-event-codemirror.partial.html @@ -1,2 +1,3 @@ - +
This module did not return any JSON
diff --git a/awx/ui/client/src/job-results/host-event/host-event.block.less b/awx/ui/client/src/job-results/host-event/host-event.block.less index e06ab5626a..6153466934 100644 --- a/awx/ui/client/src/job-results/host-event/host-event.block.less +++ b/awx/ui/client/src/job-results/host-event/host-event.block.less @@ -174,3 +174,16 @@ margin-left: 46px; padding-top: 4px; } + +.HostEvent-noJson{ + align-items: center; + background-color: @default-no-items-bord; + border: 1px solid @default-icon-hov; + border-radius: 5px; + color: @b7grey; + display: flex; + height: 200px; + justify-content: center; + text-transform: uppercase; + width: 100%; +} diff --git a/awx/ui/client/src/job-results/host-event/host-event.controller.js b/awx/ui/client/src/job-results/host-event/host-event.controller.js index c54a14844a..bec557e108 100644 --- a/awx/ui/client/src/job-results/host-event/host-event.controller.js +++ b/awx/ui/client/src/job-results/host-event/host-event.controller.js @@ -64,12 +64,11 @@ // do nothing, no stdout/stderr for this module } if($scope.module_name === "debug" && - hostEvent.event_data.res.hasOwnProperty('result') && - hostEvent.event_data.res.result.hasOwnProperty('stdout')){ + _.has(hostEvent.event_data, "res.result.stdout")){ $scope.stdout = hostEvent.event_data.res.result.stdout; } if($scope.module_name === "yum" && - hostEvent.event_data.res.hasOwnProperty('results') && + _.has(hostEvent.event_data, "res.results") && _.isArray(hostEvent.event_data.res.results)){ $scope.stdout = hostEvent.event_data.res.results[0]; } @@ -77,7 +76,13 @@ // try/catch pattern prevents the abstract-state controller from complaining about element being null if ($state.current.name === 'jobResult.host-event.json'){ try{ - initCodeMirror('HostEvent-codemirror', JSON.stringify($scope.json, null, 4), {name: "javascript", json: true}); + if(_.has(hostEvent.event_data, "res")){ + initCodeMirror('HostEvent-codemirror', JSON.stringify($scope.json, null, 4), {name: "javascript", json: true}); + } + else{ + $scope.no_json = true; + } + } catch(err){ // element with id HostEvent-codemirror is not the view controlled by this instance of HostEventController @@ -101,7 +106,7 @@ } $('#HostEvent').modal('show'); $('.modal-content').resizable({ - minHeight: 450, + minHeight: 523, minWidth: 600 }); $('.modal-dialog').draggable({