From 1b51021a58df8d021f739eb7640aa78316a50d63 Mon Sep 17 00:00:00 2001 From: Leigh Johnson Date: Tue, 19 Apr 2016 12:50:13 -0400 Subject: [PATCH] supply missing providers, resolves #1590 --- .../src/management-jobs/scheduler/main.js | 7 ++- awx/ui/client/src/scheduler/main.js | 12 +++- .../src/scheduler/schedulerAdd.controller.js | 49 ++++++++------- .../src/scheduler/schedulerEdit.controller.js | 63 ++++++++++--------- 4 files changed, 73 insertions(+), 58 deletions(-) diff --git a/awx/ui/client/src/management-jobs/scheduler/main.js b/awx/ui/client/src/management-jobs/scheduler/main.js index 49498debbd..88a57c372a 100644 --- a/awx/ui/client/src/management-jobs/scheduler/main.js +++ b/awx/ui/client/src/management-jobs/scheduler/main.js @@ -35,12 +35,15 @@ export default resolve: { features: ['FeaturesService', function(FeaturesService){ return FeaturesService.get(); - }] + }], + JobTemplateExtraVars: function(){ + return null; + } } }); $stateExtender.addState({ name: 'managementJobSchedules.edit', - route: '/add', + route: '/edit/:schedule_id', templateUrl: templateUrl('management-jobs/scheduler/schedulerForm'), controller: 'managementJobEditController', resolve: { diff --git a/awx/ui/client/src/scheduler/main.js b/awx/ui/client/src/scheduler/main.js index 5d322e828f..acd3797bae 100644 --- a/awx/ui/client/src/scheduler/main.js +++ b/awx/ui/client/src/scheduler/main.js @@ -40,7 +40,7 @@ export default Rest.setUrl(defaultUrl); return Rest.get().then(function(res){ // handle unescaped newlines - return JSON.parse(JSON.stringify(res.data.extra_vars)) + return JSON.parse(JSON.stringify(res.data.extra_vars)); }); }] } @@ -64,7 +64,10 @@ export default resolve: { features: ['FeaturesService', function(FeaturesService) { return FeaturesService.get(); - }] + }], + JobTemplateExtraVars: function(){ + return null; + } } }); $stateExtender.addState({ @@ -75,7 +78,10 @@ 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 3022092a6f..39544a6ffe 100644 --- a/awx/ui/client/src/scheduler/schedulerAdd.controller.js +++ b/awx/ui/client/src/scheduler/schedulerAdd.controller.js @@ -2,7 +2,6 @@ export default ['$compile', '$state', '$stateParams', 'AddSchedule', 'Wait', '$s $scope.$on("ScheduleFormCreated", function(e, scope) { $scope.hideForm = false; $scope = angular.extend($scope, scope); - $scope.$on("formUpdated", function() { $rootScope.$broadcast("loadSchedulerDetailPane"); }); @@ -46,29 +45,32 @@ export default ['$compile', '$state', '$stateParams', 'AddSchedule', 'Wait', '$s $state.go("^"); }; - $scope.parseType = 'yaml'; - $scope.extraVars = JobTemplateExtraVars === '' ? '---' : JobTemplateExtraVars; - ParseTypeChange({ - scope: $scope, - variable: 'extraVars', - parse_variable: 'parseType', - field_id: 'SchedulerForm-extraVars' - }); + // extra_data field is not manifested in the UI when scheduling a Management Job + if ($state.current.name !== ('managementJobSchedules.add' || 'managementJobSchedules.edit')){ + $scope.parseType = 'yaml'; + $scope.extraVars = JobTemplateExtraVars === '' || JobTemplateExtraVars === null ? '---' : JobTemplateExtraVars; + ParseTypeChange({ + scope: $scope, + variable: 'extraVars', + parse_variable: 'parseType', + field_id: 'SchedulerForm-extraVars' + }); + $scope.$watch('extraVars', function(){ + if ($scope.parseType === 'yaml'){ + try{ + $scope.serializedExtraVars = jsyaml.safeLoad($scope.extraVars); + } + catch(err){ return; } + } + else if ($scope.parseType === 'json'){ + try{ + $scope.serializedExtraVars = JSON.parse($scope.extraVars); + } + catch(err){ return; } + } + }); + } - $scope.$watch('extraVars', function(){ - if ($scope.parseType === 'yaml'){ - try{ - $scope.serializedExtraVars = jsyaml.safeLoad($scope.extraVars); - } - catch(err){ return; } - } - else if ($scope.parseType === 'json'){ - try{ - $scope.serializedExtraVars = JSON.parse($scope.extraVars); - } - catch(err){ return; } - } - }); AddSchedule({ scope: $scope, @@ -88,4 +90,5 @@ export default ['$compile', '$state', '$stateParams', 'AddSchedule', 'Wait', '$s }); callSelect2(); + }]; diff --git a/awx/ui/client/src/scheduler/schedulerEdit.controller.js b/awx/ui/client/src/scheduler/schedulerEdit.controller.js index 48b57151ec..f75b47a51f 100644 --- a/awx/ui/client/src/scheduler/schedulerEdit.controller.js +++ b/awx/ui/client/src/scheduler/schedulerEdit.controller.js @@ -48,41 +48,44 @@ export default ['$compile', '$state', '$stateParams', 'EditSchedule', 'Wait', '$ $state.go("^"); } - $scope.$on('ScheduleFound', function(){ - if ($scope.parseType === 'yaml'){ - try{ - $scope.extraVars = '---\n' + jsyaml.safeDump($scope.serializedExtraVars); + // extra_data field is not manifested in the UI when scheduling a Management Job + if ($state.current.name !== ('managementJobSchedules.add' || 'managementJobSchedules.edit')){ + $scope.$on('ScheduleFound', function(){ + if ($scope.parseType === 'yaml'){ + try{ + $scope.extraVars = '---\n' + jsyaml.safeDump($scope.serializedExtraVars); + } + catch(err){ return; } } - catch(err){ return; } - } - else if ($scope.parseType === 'json'){ - try{ - $scope.extraVars = JSON.stringify($scope.serializedExtraVars, null, ' '); + else if ($scope.parseType === 'json'){ + try{ + $scope.extraVars = JSON.stringify($scope.serializedExtraVars, null, ' '); + } + catch(err){ return; } } - catch(err){ return; } - } - ParseTypeChange({ - scope: $scope, - variable: 'extraVars', - parse_variable: 'parseType', - field_id: 'SchedulerForm-extraVars' + ParseTypeChange({ + scope: $scope, + variable: 'extraVars', + parse_variable: 'parseType', + field_id: 'SchedulerForm-extraVars' + }); }); - }); - - $scope.$watch('extraVars', function(){ - if ($scope.parseType === 'yaml'){ - try{ - $scope.serializedExtraVars = jsyaml.safeLoad($scope.extraVars); + + $scope.$watch('extraVars', function(){ + if ($scope.parseType === 'yaml'){ + try{ + $scope.serializedExtraVars = jsyaml.safeLoad($scope.extraVars); + } + catch(err){ return; } } - catch(err){ return; } - } - else if ($scope.parseType === 'json'){ - try{ - $scope.serializedExtraVars = JSON.parse($scope.extraVars); + else if ($scope.parseType === 'json'){ + try{ + $scope.serializedExtraVars = JSON.parse($scope.extraVars); + } + catch(err){ return; } } - catch(err){ return; } - } - }); + }); + } EditSchedule({ scope: $scope,