mirror of
https://github.com/ansible/awx.git
synced 2026-01-17 20:51:21 -03:30
80 lines
3.8 KiB
Plaintext
80 lines
3.8 KiB
Plaintext
function JobEvents ($scope, $rootScope, $compile, $location, $log, $routeParams, JobEventForm,
|
|
GenerateForm, Rest, Alert, ProcessErrors, LoadBreadCrumbs, ClearScope, SearchInit,
|
|
PaginateInit, GetBasePath)
|
|
{
|
|
ClearScope('htmlTemplate'); //Garbage collection. Don't leave behind any listeners/watchers from the prior
|
|
//scope.
|
|
|
|
// Inject dynamic view
|
|
var form = JobEventForm;
|
|
var generator = GenerateForm;
|
|
var scope = GenerateForm.inject(form, {mode: 'edit', related: true});
|
|
generator.reset();
|
|
|
|
var defaultUrl = GetBasePath('jobs') + $routeParams.id + '/job_events/';
|
|
var base = $location.path().replace(/^\//,'').split('/')[0];
|
|
var master = {};
|
|
var id = $routeParams.id;
|
|
var relatedSets = {};
|
|
|
|
if (scope.PostRefreshRemove){
|
|
scope.PostRefreshRemove();
|
|
}
|
|
scope.PostRefreshRemove = scope.$on('PostRefresh', function() {
|
|
|
|
// Disable Next/Prev buttons when we reach the end/beginning of array
|
|
scope[form.items.event.iterator + 'NextUrlDisable'] = (scope[form.items.event.iterator + 'NextUrl'] !== null) ? "" : "disabled";
|
|
scope[form.items.event.iterator + 'PrevUrlDisable'] = (scope[form.items.event.iterator + 'PrevUrl'] !== null) ? "" : "disabled";
|
|
|
|
// Set the scope input field values
|
|
if (scope[form.items.event.set] && scope[form.items.event.set].length > 0) {
|
|
var results = scope[form.items.event.set][0];
|
|
for (var fld in form.items.event.fields) {
|
|
if (fld == 'event_data') {
|
|
scope.event_data = JSON.stringify(results[fld]);
|
|
}
|
|
else {
|
|
if (results[fld]) {
|
|
scope[fld] = results[fld];
|
|
}
|
|
}
|
|
}
|
|
scope['event_status'] = (results.failed) ? 'failed' : 'success';
|
|
}
|
|
});
|
|
|
|
// Retrieve detail record and prepopulate the form
|
|
Rest.setUrl(defaultUrl);
|
|
Rest.get({ params: {page_size: 1} })
|
|
.success( function(data, status, headers, config) {
|
|
var results = data.results[0];
|
|
scope[form.items.event.iterator + 'NextUrl'] = data.next;
|
|
scope[form.items.event.iterator + 'PrevUrl'] = data.previous;
|
|
scope[form.items.event.iterator + 'Count'] = data.count;
|
|
LoadBreadCrumbs({ path: '/jobs/' + id, title: results["summary_fields"].job.name });
|
|
for (var fld in form.fields) {
|
|
if (results[fld]) {
|
|
scope[fld] = results[fld];
|
|
}
|
|
if (form.fields[fld].sourceModel && results.summary_fields[form.fields[fld].sourceModel]) {
|
|
scope[form.fields[fld].sourceModel + '_' + form.fields[fld].sourceField] =
|
|
results.summary_fields[form.fields[fld].sourceModel][form.fields[fld].sourceField];
|
|
}
|
|
}
|
|
scope[form.items.event.set] = data.results;
|
|
SearchInit({ scope: scope, set: form.items.event.set, list: form.items.event, iterator: form.items.event.iterator, url: defaultUrl });
|
|
PaginateInit({ scope: scope, list: form.items.event, iterator: form.items.event.iterator, url: defaultUrl , pageSize: 1 });
|
|
scope.$emit('PostRefresh');
|
|
})
|
|
.error( function(data, status, headers, config) {
|
|
ProcessErrors(scope, data, status, form,
|
|
{ hdr: 'Error!', msg: 'Failed to retrieve job event data: ' + $routeParams.id + '. GET status: ' + status });
|
|
});
|
|
|
|
}
|
|
|
|
JobEvents.$inject = [ '$scope', '$rootScope', '$compile', '$location', '$log', '$routeParams', 'JobEventForm',
|
|
'GenerateForm', 'Rest', 'Alert', 'ProcessErrors', 'LoadBreadCrumbs', 'ClearScope', 'SearchInit',
|
|
'PaginateInit', 'GetBasePath' ];
|
|
|