Răsfoiți Sursa

Updated _schedule_at to use local time when _interval is set (#12006)

* updated _schedule_at to use local time when _interval is set

* updated schedule_at to use local time when interval is set
Abhimanyu Saharan 2 ani în urmă
părinte
comite
1d2335d578
2 a modificat fișierele cu 8 adăugiri și 4 ștergeri
  1. 7 3
      netbox/extras/forms/reports.py
  2. 1 1
      netbox/extras/forms/scripts.py

+ 7 - 3
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)

+ 1 - 1
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