From f59cb5f5a3104d47d701701879ecf3d1e2c140b1 Mon Sep 17 00:00:00 2001 From: Leigh Johnson Date: Tue, 19 Apr 2016 16:45:32 -0400 Subject: [PATCH] remove JobTemplateExtraVars provision & replace with REST requests in schedulerAddController --- .../src/management-jobs/scheduler/main.js | 5 +-- awx/ui/client/src/scheduler/main.js | 20 ++--------- .../src/scheduler/schedulerAdd.controller.js | 33 ++++++++++++++----- 3 files changed, 28 insertions(+), 30 deletions(-) diff --git a/awx/ui/client/src/management-jobs/scheduler/main.js b/awx/ui/client/src/management-jobs/scheduler/main.js index 88a57c372a..4a9bc10217 100644 --- a/awx/ui/client/src/management-jobs/scheduler/main.js +++ b/awx/ui/client/src/management-jobs/scheduler/main.js @@ -35,10 +35,7 @@ export default resolve: { features: ['FeaturesService', function(FeaturesService){ return FeaturesService.get(); - }], - JobTemplateExtraVars: function(){ - return null; - } + }] } }); $stateExtender.addState({ diff --git a/awx/ui/client/src/scheduler/main.js b/awx/ui/client/src/scheduler/main.js index acd3797bae..46fa46d94e 100644 --- a/awx/ui/client/src/scheduler/main.js +++ b/awx/ui/client/src/scheduler/main.js @@ -34,15 +34,7 @@ export default resolve: { features: ['FeaturesService', function(FeaturesService) { return FeaturesService.get(); - }], - JobTemplateExtraVars: ['Rest', 'GetBasePath', 'ToJSON', '$stateParams', function(Rest, GetBasePath, ToJSON, $stateParams) { - var defaultUrl = GetBasePath('job_templates') + $stateParams.id + '/'; - Rest.setUrl(defaultUrl); - return Rest.get().then(function(res){ - // handle unescaped newlines - return JSON.parse(JSON.stringify(res.data.extra_vars)); - }); - }] + }] } }); $stateExtender.addState({ @@ -64,10 +56,7 @@ export default resolve: { features: ['FeaturesService', function(FeaturesService) { return FeaturesService.get(); - }], - JobTemplateExtraVars: function(){ - return null; - } + }] } }); $stateExtender.addState({ @@ -78,10 +67,7 @@ export default resolve: { features: ['FeaturesService', function(FeaturesService) { return FeaturesService.get(); - }], - JobTemplateExtraVars: function(){ - return null; - } + }] } }); $stateExtender.addState({ diff --git a/awx/ui/client/src/scheduler/schedulerAdd.controller.js b/awx/ui/client/src/scheduler/schedulerAdd.controller.js index 39544a6ffe..4bb6cd9ac1 100644 --- a/awx/ui/client/src/scheduler/schedulerAdd.controller.js +++ b/awx/ui/client/src/scheduler/schedulerAdd.controller.js @@ -1,4 +1,4 @@ -export default ['$compile', '$state', '$stateParams', 'AddSchedule', 'Wait', '$scope', '$rootScope', 'CreateSelect2', 'ParseTypeChange', 'JobTemplateExtraVars', function($compile, $state, $stateParams, AddSchedule, Wait, $scope, $rootScope, CreateSelect2, ParseTypeChange, JobTemplateExtraVars) { +export default ['$compile', '$state', '$stateParams', 'AddSchedule', 'Wait', '$scope', '$rootScope', 'CreateSelect2', 'ParseTypeChange', 'GetBasePath', 'Rest', function($compile, $state, $stateParams, AddSchedule, Wait, $scope, $rootScope, CreateSelect2, ParseTypeChange, GetBasePath, Rest) { $scope.$on("ScheduleFormCreated", function(e, scope) { $scope.hideForm = false; $scope = angular.extend($scope, scope); @@ -46,14 +46,20 @@ export default ['$compile', '$state', '$stateParams', 'AddSchedule', 'Wait', '$s }; // extra_data field is not manifested in the UI when scheduling a Management Job - if ($state.current.name !== ('managementJobSchedules.add' || 'managementJobSchedules.edit')){ + if ($state.current.name === 'jobTemplateSchedules.add'){ $scope.parseType = 'yaml'; - $scope.extraVars = JobTemplateExtraVars === '' || JobTemplateExtraVars === null ? '---' : JobTemplateExtraVars; - ParseTypeChange({ - scope: $scope, - variable: 'extraVars', - parse_variable: 'parseType', - field_id: 'SchedulerForm-extraVars' + var defaultUrl = GetBasePath('job_templates') + $stateParams.id + '/'; + Rest.setUrl(defaultUrl); + Rest.get().then(function(res){ + // sanitize + var data = JSON.parse(JSON.stringify(res.data.extra_vars)); + $scope.extraVars = data === '' ? '---' : data; + ParseTypeChange({ + scope: $scope, + variable: 'extraVars', + parse_variable: 'parseType', + field_id: 'SchedulerForm-extraVars' + }); }); $scope.$watch('extraVars', function(){ if ($scope.parseType === 'yaml'){ @@ -70,7 +76,16 @@ export default ['$compile', '$state', '$stateParams', 'AddSchedule', 'Wait', '$s } }); } - + else if ($state.current.name === 'projectSchedules.add'){ + $scope.extraVars = '---'; + $scope.parseType = 'yaml'; + ParseTypeChange({ + scope: $scope, + variable: 'extraVars', + parse_variable: 'parseType', + field_id: 'SchedulerForm-extraVars' + }); + } AddSchedule({ scope: $scope,