diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 257cbdca9..8c9c58a13 100644 --- a/netbox/extras/filtersets.py +++ b/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 diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 80ed0f208..059f0d9f2 100644 --- a/netbox/extras/forms/filtersets.py +++ b/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() )