error handling for job-result route

for when there are no job_events for a job
This commit is contained in:
jaredevantabor 2016-10-31 11:54:09 -07:00
parent 5dad4ef8d5
commit 5a7c33c17a
2 changed files with 101 additions and 90 deletions

View File

@ -1,91 +1,91 @@
<<<<<<< 4cf6a946a1aa14b7d64a8e1e8dabecfd3d056f27
//<<<<<<< bc59236851902d7c768aa26abdb7dc9c9dc27a5a
/*************************************************
* Copyright (c) 2016 Ansible, Inc.
*
* All Rights Reserved
*************************************************/
// <<<<<<< a3d9eea2c9ddb4e16deec9ec38dea16bf37c559d
// import { templateUrl } from '../shared/template-url/template-url.factory';
//
// export default {
// name: 'jobDetail',
// url: '/jobs/{id: int}',
// ncyBreadcrumb: {
// parent: 'jobs',
// label: "{{ job.id }} - {{ job.name }}"
// },
// data: {
// socket: {
// "groups": {
// "jobs": ["status_changed", "summary"],
// "job_events": []
// }
// }
// },
// templateUrl: templateUrl('job-detail/job-detail'),
// controller: 'JobDetailController'
// };
// =======
// import {templateUrl} from '../shared/template-url/template-url.factory';
//
// export default {
// name: 'jobDetail',
// url: '/jobs/:id',
// ncyBreadcrumb: {
// parent: 'jobs',
// label: "{{ job.id }} - {{ job.name }}"
// },
// socket: {
// "groups":{
// "jobs": ["status_changed", "summary"],
// "job_events": []
// }
// },
// templateUrl: templateUrl('job-detail/job-detail'),
// controller: 'JobDetailController'
// };
//=======
=======
>>>>>>> Rebase of devel (w/ channels) + socket rework for new job details
// <<<<<<< 4cf6a946a1aa14b7d64a8e1e8dabecfd3d056f27
// //<<<<<<< bc59236851902d7c768aa26abdb7dc9c9dc27a5a
// /*************************************************
// * Copyright (c) 2016 Ansible, Inc.
// *
// * All Rights Reserved
// *************************************************/
//
// import {templateUrl} from '../shared/template-url/template-url.factory';
//
// export default {
// name: 'jobDetail',
// url: '/jobs/:id',
// ncyBreadcrumb: {
// parent: 'jobs',
// label: "{{ job.id }} - {{ job.name }}"
// },
// socket: {
// "groups":{
// "jobs": ["status_changed", "summary"],
// "job_events": []
// }
// },
// resolve: {
// jobEventsSocket: ['Socket', '$rootScope', function(Socket, $rootScope) {
// if (!$rootScope.event_socket) {
// $rootScope.event_socket = Socket({
// scope: $rootScope,
// endpoint: "job_events"
// });
// $rootScope.event_socket.init();
// // returns should really be providing $rootScope.event_socket
// // otherwise, we have to inject the entire $rootScope into the controller
// return true;
// } else {
// return true;
// }
// }]
// },
// templateUrl: templateUrl('job-detail/job-detail'),
// controller: 'JobDetailController'
// };
// // <<<<<<< a3d9eea2c9ddb4e16deec9ec38dea16bf37c559d
// // import { templateUrl } from '../shared/template-url/template-url.factory';
// //
// // export default {
// // name: 'jobDetail',
// // url: '/jobs/{id: int}',
// // ncyBreadcrumb: {
// // parent: 'jobs',
// // label: "{{ job.id }} - {{ job.name }}"
// // },
// // data: {
// // socket: {
// // "groups": {
// // "jobs": ["status_changed", "summary"],
// // "job_events": []
// // }
// // }
// // },
// // templateUrl: templateUrl('job-detail/job-detail'),
// // controller: 'JobDetailController'
// // };
// // =======
// // import {templateUrl} from '../shared/template-url/template-url.factory';
// //
// // export default {
// // name: 'jobDetail',
// // url: '/jobs/:id',
// // ncyBreadcrumb: {
// // parent: 'jobs',
// // label: "{{ job.id }} - {{ job.name }}"
// // },
// // socket: {
// // "groups":{
// // "jobs": ["status_changed", "summary"],
// // "job_events": []
// // }
// // },
// // templateUrl: templateUrl('job-detail/job-detail'),
// // controller: 'JobDetailController'
// // };
// //=======
// =======
// >>>>>>> Rebase of devel (w/ channels) + socket rework for new job details
// // /*************************************************
// // * Copyright (c) 2016 Ansible, Inc.
// // *
// // * All Rights Reserved
// // *************************************************/
// //
// // import {templateUrl} from '../shared/template-url/template-url.factory';
// //
// // export default {
// // name: 'jobDetail',
// // url: '/jobs/:id',
// // ncyBreadcrumb: {
// // parent: 'jobs',
// // label: "{{ job.id }} - {{ job.name }}"
// // },
// // socket: {
// // "groups":{
// // "jobs": ["status_changed", "summary"],
// // "job_events": []
// // }
// // },
// // resolve: {
// // jobEventsSocket: ['Socket', '$rootScope', function(Socket, $rootScope) {
// // if (!$rootScope.event_socket) {
// // $rootScope.event_socket = Socket({
// // scope: $rootScope,
// // endpoint: "job_events"
// // });
// // $rootScope.event_socket.init();
// // // returns should really be providing $rootScope.event_socket
// // // otherwise, we have to inject the entire $rootScope into the controller
// // return true;
// // } else {
// // return true;
// // }
// // }]
// // },
// // templateUrl: templateUrl('job-detail/job-detail'),
// // controller: 'JobDetailController'
// // };

View File

@ -55,11 +55,22 @@ export default {
// "?event=playbook_on_stats");
Rest.get()
.success(function(data) {
defer.resolve({
val: jobResultsService
.getCountsFromStatsEvent(data
.results[0].event_data),
countFinished: true});
if(!data.results[0]){
defer.resolve({val: {
ok: 0,
skipped: 0,
unreachable: 0,
failures: 0,
changed: 0
}, countFinished: false});
}
else {
defer.resolve({
val: jobResultsService
.getCountsFromStatsEvent(data
.results[0].event_data),
countFinished: true});
}
})
.error(function() {
defer.resolve({val: {