diff --git a/netbox/extras/forms/reports.py b/netbox/extras/forms/reports.py index d2ec01006..ed7f49304 100644 --- a/netbox/extras/forms/reports.py +++ b/netbox/extras/forms/reports.py @@ -25,12 +25,16 @@ class ReportForm(BootstrapMixin, forms.Form): help_text=_("Interval at which this report is re-run (in minutes)") ) - def clean_schedule_at(self): + def clean(self): scheduled_time = self.cleaned_data['schedule_at'] - if scheduled_time and scheduled_time < timezone.now(): + if scheduled_time and scheduled_time < local_now(): raise forms.ValidationError(_('Scheduled time must be in the future.')) - return scheduled_time + # When interval is used without schedule at, raise an exception + if self.cleaned_data['interval'] and not scheduled_time: + self.cleaned_data['schedule_at'] = local_now() + + return self.cleaned_data def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/netbox/extras/forms/scripts.py b/netbox/extras/forms/scripts.py index 8216c5413..ca7398132 100644 --- a/netbox/extras/forms/scripts.py +++ b/netbox/extras/forms/scripts.py @@ -52,7 +52,7 @@ class ScriptForm(BootstrapMixin, forms.Form): # When interval is used without schedule at, raise an exception if self.cleaned_data['_interval'] and not scheduled_time: - raise forms.ValidationError(_('Scheduled time must be set when recurs is used.')) + self.cleaned_data['_schedule_at'] = local_now() return self.cleaned_data