diff --git a/awx/ui/static/js/helpers/ConfigureTower.js b/awx/ui/static/js/helpers/ConfigureTower.js index a33edd309e..de6cf6beb7 100644 --- a/awx/ui/static/js/helpers/ConfigureTower.js +++ b/awx/ui/static/js/helpers/ConfigureTower.js @@ -480,32 +480,34 @@ export default container.show('slide', { direction: 'right' }, 300); // scope.schedulerPurgeDays = (!Empty(scope.days)) ? Number(scope.days) : 30; target.show(); - scope.$watch('scheduler_form.keep_amount.$modelValue', function(newVal) { - if (!newVal && newVal !== 0) { - $('#configure-save-button').prop("disabled", true); - } else if (isNaN(newVal)) { - $('#configure-save-button').prop("disabled", true); - } else if (newVal < 0) { - $('#configure-save-button').prop("disabled", true); - } else if (newVal > 9999) { - $('#configure-save-button').prop("disabled", true); - } else { - $('#configure-save-button').prop("disabled", false); - } - }); - scope.$watch('scheduler_form.granularity_keep_amount.$modelValue', function(newVal2) { - if (!newVal2 && newVal2 !== 0) { - $('#configure-save-button').prop("disabled", true); - } else if (isNaN(newVal2)) { - $('#configure-save-button').prop("disabled", true); - } else if (newVal2 < 0) { - $('#configure-save-button').prop("disabled", true); - } else if (newVal2 > 9999) { - $('#configure-save-button').prop("disabled", true); - } else { - $('#configure-save-button').prop("disabled", false); - } - }); + if (scope.isFactCleanup) { + scope.$watch('scheduler_form.keep_amount.$modelValue', function(newVal) { + if (!newVal && newVal !== 0) { + $('#configure-save-button').prop("disabled", true); + } else if (isNaN(newVal)) { + $('#configure-save-button').prop("disabled", true); + } else if (newVal < 0) { + $('#configure-save-button').prop("disabled", true); + } else if (newVal > 9999) { + $('#configure-save-button').prop("disabled", true); + } else { + $('#configure-save-button').prop("disabled", false); + } + }); + scope.$watch('scheduler_form.granularity_keep_amount.$modelValue', function(newVal2) { + if (!newVal2 && newVal2 !== 0) { + $('#configure-save-button').prop("disabled", true); + } else if (isNaN(newVal2)) { + $('#configure-save-button').prop("disabled", true); + } else if (newVal2 < 0) { + $('#configure-save-button').prop("disabled", true); + } else if (newVal2 > 9999) { + $('#configure-save-button').prop("disabled", true); + } else { + $('#configure-save-button').prop("disabled", false); + } + }); + } if(mode==="add"){ scope.$apply(function(){ scope.schedulerPurgeDays = 30; @@ -565,10 +567,16 @@ export default if (scheduler.isValid()) { scope.schedulerIsValid = true; url = (mode==="edit") ? GetBasePath('schedules')+id+'/' : url; - - extra_vars = { - "days" : scope.scheduler_form.schedulerPurgeDays.$viewValue - }; + if (scope.isFactCleanup) { + extra_vars = { + "older_than": scope.keep_amount+scope.keep_unit.value, + "granularity": scope.granularity_keep_amount+scope.granularity_keep_unit.value + }; + } else { + extra_vars = { + "days" : scope.scheduler_form.schedulerPurgeDays.$viewValue + }; + } schedule.extra_data = JSON.stringify(extra_vars); SchedulePost({ diff --git a/awx/ui/static/lib/angular-scheduler/lib/angular-scheduler.html b/awx/ui/static/lib/angular-scheduler/lib/angular-scheduler.html index 23917d90b6..a13551c8a4 100644 --- a/awx/ui/static/lib/angular-scheduler/lib/angular-scheduler.html +++ b/awx/ui/static/lib/angular-scheduler/lib/angular-scheduler.html @@ -25,6 +25,13 @@
Note: For facts collected older than the time period specified, save one fact scan (snapshot) per time window (frequency). For example, facts older than 30 days are purged, while one weekly fact scan is kept. Caution: Setting both numerical variables to "0" will delete all facts.
+
+ + +
A value is required.
+
This is not a valid number.
+
+