diff --git a/awx/ui/client/features/applications/index.js b/awx/ui/client/features/applications/index.js index af4783884f..f0c37e9f7c 100644 --- a/awx/ui/client/features/applications/index.js +++ b/awx/ui/client/features/applications/index.js @@ -12,7 +12,15 @@ const listTemplate = require('~features/applications/list-applications.view.html const indexTemplate = require('~features/applications/index.view.html'); const userListTemplate = require('~features/applications/list-applications-users.view.html'); -function ApplicationsDetailResolve ($q, $stateParams, Me, Application, Organization) { +function ApplicationsDetailResolve ( + $q, + $stateParams, + Me, + Application, + Organization, + ProcessErrors, + strings +) { const id = $stateParams.application_id; const promises = { @@ -42,6 +50,13 @@ function ApplicationsDetailResolve ($q, $stateParams, Me, Application, Organizat return models; }); + }) + .catch(({ data, status, config }) => { + ProcessErrors(null, data, status, null, { + hdr: strings.get('error.HEADER'), + msg: strings.get('error.CALL', { path: `${config.url}`, status }) + }); + return $q.reject(); }); } @@ -50,7 +65,9 @@ ApplicationsDetailResolve.$inject = [ '$stateParams', 'MeModel', 'ApplicationModel', - 'OrganizationModel' + 'OrganizationModel', + 'ProcessErrors', + 'ApplicationsStrings' ]; function ApplicationsRun ($stateExtender, strings) { diff --git a/awx/ui/client/lib/components/form/form.directive.js b/awx/ui/client/lib/components/form/form.directive.js index e0ac85c595..97a30911d0 100644 --- a/awx/ui/client/lib/components/form/form.directive.js +++ b/awx/ui/client/lib/components/form/form.directive.js @@ -114,6 +114,12 @@ function AtFormController (eventService, strings) { if (typeof err.data === 'object') { message = JSON.stringify(err.data); + } if (_.has(err, 'data.__all__')) { + if (typeof err.data.__all__ === 'object' && Array.isArray(err.data.__all__)) { + message = JSON.stringify(err.data.__all__[0]); + } else { + message = JSON.stringify(err.data.__all__); + } } else { message = err.data; }