working commit of job results structure

This commit is contained in:
John Mitchell 2016-09-20 14:59:39 -04:00 committed by jaredevantabor
parent 960f90c4fd
commit 8435290cc4
5 changed files with 136 additions and 24 deletions

View File

@ -53,6 +53,7 @@ import organizations from './organizations/main';
import managementJobs from './management-jobs/main';
import jobDetail from './job-detail/main';
import workflowResults from './workflow-results/main';
import jobResults from './job-results/main';
import jobSubmission from './job-submission/main';
import notifications from './notifications/main';
import about from './about/main';
@ -123,6 +124,7 @@ var tower = angular.module('Tower', [
footer.name,
jobDetail.name,
workflowResults.name,
jobResults.name,
jobSubmission.name,
notifications.name,
standardOut.name,

View File

@ -1,26 +1,82 @@
//<<<<<<< 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: 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'
};
// <<<<<<< 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'
// };
//=======
// /*************************************************
// * 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 }}"
// },
// 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

@ -4,7 +4,7 @@
* All Rights Reserved
*************************************************/
import route from './job-detail.route';
// import route from './job-detail.route';
import controller from './job-detail.controller';
import service from './job-detail.service';
import hostEvents from './host-events/main';
@ -19,6 +19,6 @@ export default
])
.controller('JobDetailController', controller)
.service('JobDetailService', service)
.run(['$stateExtender', function($stateExtender) {
$stateExtender.addState(route);
}]);
// .run(['$stateExtender', function($stateExtender) {
// $stateExtender.addState(route);
// }]);

View File

@ -0,0 +1,41 @@
/*************************************************
* 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 }}'
},
resolve: {
jobData: ['Rest', 'GetBasePath', '$stateParams', '$q', '$state', 'Alert', function(Rest, GetBasePath, $stateParams, $q, $state, Alert) {
Rest.setUrl(GetBasePath('jobs') + $stateParams.id);
var val = $q.defer();
Rest.get()
.then(function(data) {
val.resolve(data.data);
}, function(data) {
val.reject(data);
if (data.status === 404) {
Alert('Job Not Found', 'Cannot find job.', 'alert-info');
} else if (data.status === 403) {
Alert('Insufficient Permissions', 'You do not have permission to view this job.', 'alert-info');
}
$state.go('jobs');
});
return val.promise;
}]
},
templateUrl: templateUrl('job-results/job-results'),
controller: ['jobData', '$scope', function(jobData, $scope) {
$scope.job = jobData;
}]
};

View File

@ -0,0 +1,13 @@
/*************************************************
* Copyright (c) 2016 Ansible, Inc.
*
* All Rights Reserved
*************************************************/
import route from './job-results.route.js';
export default
angular.module('jobResults', [])
.run(['$stateExtender', function($stateExtender) {
$stateExtender.addState(route);
}]);