diff --git a/awx/ui/client/src/scheduler/schedulerAdd.controller.js b/awx/ui/client/src/scheduler/schedulerAdd.controller.js index 5c87f3c484..8af2fd78b5 100644 --- a/awx/ui/client/src/scheduler/schedulerAdd.controller.js +++ b/awx/ui/client/src/scheduler/schedulerAdd.controller.js @@ -30,7 +30,12 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait', $scope.canAdd = params.canAdd; }); } - let processSchedulerEndDt = function(){ + + /* + * Keep processSchedulerEndDt method on the $scope + * because angular-scheduler references it + */ + $scope.processSchedulerEndDt = function(){ // set the schedulerEndDt to be equal to schedulerStartDt + 1 day @ midnight var dt = new Date($scope.schedulerUTCTime); // increment date by 1 day @@ -329,7 +334,7 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait', }); if ($scope.schedulerUTCTime) { // The UTC time is already set - processSchedulerEndDt(); + $scope.processSchedulerEndDt(); } else { // We need to wait for it to be set by angular-scheduler because the following function depends // on it @@ -337,7 +342,7 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait', if (newVal) { // Remove the watcher schedulerUTCTimeWatcher(); - processSchedulerEndDt(); + $scope.processSchedulerEndDt(); } }); } @@ -370,9 +375,6 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait', scheduler.clear(); $scope.$on("htmlDetailReady", function() { $scope.hideForm = false; - $scope.$on("formUpdated", function() { - $rootScope.$broadcast("loadSchedulerDetailPane"); - }); $scope.$watchGroup(["schedulerName", "schedulerStartDt", "schedulerStartHour", @@ -398,11 +400,11 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait', "schedulerEndMinute", "schedularEndSecond" ], function() { - $scope.$emit("formUpdated"); + $rootScope.$broadcast("loadSchedulerDetailPane"); }, true); $scope.$watch("weekDays", function() { - $scope.$emit("formUpdated"); + $rootScope.$broadcast("loadSchedulerDetailPane"); }, true); Wait('stop'); diff --git a/awx/ui/client/src/scheduler/schedulerEdit.controller.js b/awx/ui/client/src/scheduler/schedulerEdit.controller.js index 3a2d3cd187..9a981d352a 100644 --- a/awx/ui/client/src/scheduler/schedulerEdit.controller.js +++ b/awx/ui/client/src/scheduler/schedulerEdit.controller.js @@ -23,6 +23,10 @@ function($filter, $state, $stateParams, Wait, $scope, moment, $scope.strings = TemplatesStrings; + /* + * Keep processSchedulerEndDt method on the $scope + * because angular-scheduler references it + */ $scope.processSchedulerEndDt = function(){ // set the schedulerEndDt to be equal to schedulerStartDt + 1 day @ midnight var dt = new Date($scope.schedulerUTCTime); diff --git a/awx/ui/client/src/scheduler/schedulerForm.partial.html b/awx/ui/client/src/scheduler/schedulerForm.partial.html index 8afed91a0c..d3bfd2f249 100644 --- a/awx/ui/client/src/scheduler/schedulerForm.partial.html +++ b/awx/ui/client/src/scheduler/schedulerForm.partial.html @@ -683,7 +683,7 @@ class="btn btn-sm Form-saveButton" id="schedule_save_btn" ng-click="saveSchedule()" - ng-disabled="!schedulerIsValid || promptModalMissingReqFields"> Save + ng-disabled="!schedulerIsValid || promptModalMissingReqFields || (preview_list.isEmpty && scheduler_form.$dirty)"> Save