Explorar el Código

Fix JobResultFilterset to use DateTimeField to perserve bc compat

kkthxbye-code hace 3 años
padre
commit
5e5228ff12
Se han modificado 2 ficheros con 35 adiciones y 10 borrados
  1. 27 3
      netbox/extras/filtersets.py
  2. 8 7
      netbox/extras/forms/filtersets.py

+ 27 - 3
netbox/extras/filtersets.py

@@ -435,9 +435,33 @@ class JobResultFilterSet(BaseFilterSet):
         method='search',
         label='Search',
     )
-    created = django_filters.DateTimeFromToRangeFilter()
-    completed = django_filters.DateTimeFromToRangeFilter()
-    scheduled_time = django_filters.DateTimeFromToRangeFilter()
+    created = django_filters.DateTimeFilter()
+    created__before = django_filters.DateTimeFilter(
+        field_name='created',
+        lookup_expr='lte'
+    )
+    created__after = django_filters.DateTimeFilter(
+        field_name='created',
+        lookup_expr='gte'
+    )
+    completed = django_filters.DateTimeFilter()
+    completed__before = django_filters.DateTimeFilter(
+        field_name='completed',
+        lookup_expr='lte'
+    )
+    completed__after = django_filters.DateTimeFilter(
+        field_name='completed',
+        lookup_expr='gte'
+    )
+    scheduled_time = django_filters.DateTimeFilter()
+    scheduled_time__before = django_filters.DateTimeFilter(
+        field_name='scheduled_time',
+        lookup_expr='lte'
+    )
+    scheduled_time__after = django_filters.DateTimeFilter(
+        field_name='scheduled_time',
+        lookup_expr='gte'
+    )
     status = django_filters.MultipleChoiceFilter(
         choices=JobResultStatusChoices,
         null_value=None

+ 8 - 7
netbox/extras/forms/filtersets.py

@@ -70,7 +70,8 @@ class JobResultFilterForm(FilterForm):
     fieldsets = (
         (None, ('q',)),
         ('Attributes', ('obj_type', 'status')),
-        ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'scheduled_time_before', 'scheduled_time_after', 'user')),
+        ('Creation', ('created__before', 'created__after', 'completed__before', 'completed__after',
+                      'scheduled_time__before', 'scheduled_time__after', 'user')),
     )
 
     obj_type = ContentTypeChoiceField(
@@ -83,27 +84,27 @@ class JobResultFilterForm(FilterForm):
         choices=JobResultStatusChoices,
         required=False
     )
-    created_after = forms.DateTimeField(
+    created__after = forms.DateTimeField(
         required=False,
         widget=DateTimePicker()
     )
-    created_before = forms.DateTimeField(
+    created__before = forms.DateTimeField(
         required=False,
         widget=DateTimePicker()
     )
-    completed_after = forms.DateTimeField(
+    completed__after = forms.DateTimeField(
         required=False,
         widget=DateTimePicker()
     )
-    completed_before = forms.DateTimeField(
+    completed__before = forms.DateTimeField(
         required=False,
         widget=DateTimePicker()
     )
-    scheduled_time_after = forms.DateTimeField(
+    scheduled_time__after = forms.DateTimeField(
         required=False,
         widget=DateTimePicker()
     )
-    scheduled_time_before = forms.DateTimeField(
+    scheduled_time__before = forms.DateTimeField(
         required=False,
         widget=DateTimePicker()
     )