From 5006b84eee155d21f1faff2be551959b88607304 Mon Sep 17 00:00:00 2001 From: Jared Tabor Date: Mon, 14 May 2018 18:34:07 -0700 Subject: [PATCH] adds parentResolve for new route --- .../src/scheduler/schedulerEdit.controller.js | 8 +++++--- awx/ui/client/src/scheduler/schedules.route.js | 14 +++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/awx/ui/client/src/scheduler/schedulerEdit.controller.js b/awx/ui/client/src/scheduler/schedulerEdit.controller.js index 16a4bf19cb..f9d603fbd1 100644 --- a/awx/ui/client/src/scheduler/schedulerEdit.controller.js +++ b/awx/ui/client/src/scheduler/schedulerEdit.controller.js @@ -231,7 +231,7 @@ function($filter, $state, $stateParams, Wait, $scope, moment, $scope.schedulerPurgeDays = Number(schedule.extra_data.days); } - if ($state.current.name === 'templates.editJobTemplate.schedules.edit'){ + if ($state.current.name === 'templates.editJobTemplate.schedules.edit' || $scope.parentObject.type === 'job_template'){ let jobTemplate = new JobTemplate(); @@ -380,7 +380,7 @@ function($filter, $state, $stateParams, Wait, $scope, moment, } } }); - } else if ($state.current.name === 'templates.editWorkflowJobTemplate.schedules.edit') { + } else if ($state.current.name === 'templates.editWorkflowJobTemplate.schedules.edit' || $scope.parentObject.type === 'workflow_job_template') { let workflowJobTemplate = new WorkflowJobTemplate(); $q.all([workflowJobTemplate.optionsLaunch(ParentObject.id), workflowJobTemplate.getLaunch(ParentObject.id)]) @@ -455,7 +455,9 @@ function($filter, $state, $stateParams, Wait, $scope, moment, if ($state.current.name !== 'managementJobsList.schedule.add' && $state.current.name !== 'managementJobsList.schedule.edit'){ if ($state.current.name === 'projects.edit.schedules.edit' || $state.current.name === 'inventories.edit.inventory_sources.edit.schedules.edit' || - $state.current.name === 'templates.editWorkflowJobTemplate.schedules.add' + $state.current.name === 'templates.editWorkflowJobTemplate.schedules.add' || + $scope.parentObject.type === 'inventory_source' || + $scope.parentObject.type === 'project' ){ $scope.noVars = true; } else { diff --git a/awx/ui/client/src/scheduler/schedules.route.js b/awx/ui/client/src/scheduler/schedules.route.js index b1c89ac24e..965b42f97d 100644 --- a/awx/ui/client/src/scheduler/schedules.route.js +++ b/awx/ui/client/src/scheduler/schedules.route.js @@ -326,6 +326,18 @@ const jobsSchedulesRoute = { } }; +// the /#/jobs/schedules/:schedule_id state needs to know about the type of +// resource is being scheduled. +const parentResolve = { + ParentObject: ['$stateParams', 'Rest', 'GetBasePath', 'scheduleResolve', + function($stateParams, Rest, GetBasePath, scheduleResolve){ + let path = scheduleResolve.related.unified_job_template; + Rest.setUrl(path); + return Rest.get(path).then(response => response.data); + } + ] +}; + const jobsSchedulesEditRoute = { name: 'jobs.schedules.edit', route: '/:schedule_id', @@ -339,7 +351,7 @@ const jobsSchedulesEditRoute = { templateUrl: templateUrl("scheduler/schedulerForm"), } }, - resolve: editScheduleResolve() + resolve: _.merge(editScheduleResolve(), parentResolve) }; export {