diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index da34b001f..f75f1545a 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -5,6 +5,7 @@ ### Enhancements * [#8231](https://github.com/netbox-community/netbox/issues/8231) - Use in-page dialogs for confirming object deletion +* [#8244](https://github.com/netbox-community/netbox/issues/8244) - Add length & length unit fields to cable filter form ### Bug Fixes diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index 002f12916..cb9575d42 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -578,7 +578,7 @@ class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): field_groups = [ ['q', 'tag'], ['site_id', 'rack_id', 'device_id'], - ['type', 'status', 'color'], + ['type', 'status', 'color', 'length', 'length_unit'], ['tenant_group_id', 'tenant_id'], ] region_id = DynamicModelMultipleChoiceField( @@ -603,6 +603,16 @@ class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): 'site_id': '$site_id' } ) + device_id = DynamicModelMultipleChoiceField( + queryset=Device.objects.all(), + required=False, + query_params={ + 'site_id': '$site_id', + 'tenant_id': '$tenant_id', + 'rack_id': '$rack_id', + }, + label=_('Device') + ) type = forms.MultipleChoiceField( choices=add_blank_choice(CableTypeChoices), required=False, @@ -616,15 +626,12 @@ class CableFilterForm(TenancyFilterForm, CustomFieldModelFilterForm): color = ColorField( required=False ) - device_id = DynamicModelMultipleChoiceField( - queryset=Device.objects.all(), - required=False, - query_params={ - 'site_id': '$site_id', - 'tenant_id': '$tenant_id', - 'rack_id': '$rack_id', - }, - label=_('Device') + length = forms.IntegerField( + required=False + ) + length_unit = forms.ChoiceField( + choices=add_blank_choice(CableLengthUnitChoices), + required=False ) tag = TagFilterField(model)