update schedule base route to include resource being scheduled

This commit is contained in:
John Mitchell
2018-11-08 09:41:06 -05:00
parent 856dc3645e
commit d1cce109fb
2 changed files with 24 additions and 25 deletions

View File

@@ -33,7 +33,7 @@ export default ['i18n', function(i18n) {
sourceModel: 'unified_job_template', sourceModel: 'unified_job_template',
sourceField: 'name', sourceField: 'name',
// ngBind: 'schedule.summary_fields.unified_job_template.name', // ngBind: 'schedule.summary_fields.unified_job_template.name',
ngClick: "editSchedule(schedule)", uiSref: "{{schedule.linkToDetails}}",
awToolTip: "{{ schedule.nameTip | sanitize}}", awToolTip: "{{ schedule.nameTip | sanitize}}",
dataTipWatch: 'schedule.nameTip', dataTipWatch: 'schedule.nameTip',
dataPlacement: "top", dataPlacement: "top",

View File

@@ -101,18 +101,30 @@ export default [
} }
buildTooltips(itm); buildTooltips(itm);
if (!$state.is('schedules')){ let stateParams = { schedule_id: item.id };
if($state.current.name.endsWith('.add')) { let route = '';
itm.linkToDetails = `^.edit({schedule_id:schedule.id})`; if (item.summary_fields.unified_job_template) {
} if (item.summary_fields.unified_job_template.unified_job_type === 'job') {
else if($state.current.name.endsWith('.edit')) { route = 'templates.editJobTemplate.schedules.edit';
itm.linkToDetails = `.({schedule_id:schedule.id})`; stateParams.job_template_id = item.summary_fields.unified_job_template.id;
} } else if (item.summary_fields.unified_job_template.unified_job_type === 'project_update') {
else { route = 'projects.edit.schedules.edit';
itm.linkToDetails = `.edit({schedule_id:schedule.id})`; stateParams.project_id = item.summary_fields.unified_job_template.id;
} else if (item.summary_fields.unified_job_template.unified_job_type === 'workflow_job') {
route = 'templates.editWorkflowJobTemplate.schedules.edit';
stateParams.workflow_job_template_id = item.summary_fields.unified_job_template.id;
} else if (item.summary_fields.unified_job_template.unified_job_type === 'inventory_update') {
route = 'inventories.edit.inventory_sources.edit.schedules.edit';
stateParams.inventory_id = parseInt(item.related.inventory.split("/").slice(-2, -1)[0]);
stateParams.inventory_source_id = item.summary_fields.unified_job_template.id;
} else if (item.summary_fields.unified_job_template.unified_job_type === 'system_job') {
route = 'managementJobsList.schedule';
stateParams.id = item.summary_fields.unified_job_template.id;
} }
} }
itm.route = route;
itm.stateParams = stateParams;
itm.linkToDetails = `${route}(${JSON.stringify(stateParams)})`;
}); });
} }
@@ -157,20 +169,7 @@ export default [
}; };
$scope.editSchedule = function(schedule) { $scope.editSchedule = function(schedule) {
if ($state.is('schedules')){ $state.go(schedule.route, schedule.stateParams);
$state.go('schedules.edit', {schedule_id: schedule.id});
}
else {
if($state.current.name.endsWith('.add')) {
$state.go('^.edit', { schedule_id: schedule.id });
}
else if($state.current.name.endsWith('.edit')) {
$state.go('.', { schedule_id: schedule.id });
}
else {
$state.go('.edit', { schedule_id: schedule.id });
}
}
}; };
$scope.toggleSchedule = function(event, id) { $scope.toggleSchedule = function(event, id) {