mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-22 20:12:00 -06:00
Fixes #8810: Enable filtering modules by type
This commit is contained in:
parent
06781beb81
commit
07f2cdac58
@ -159,6 +159,7 @@ Where it is desired to limit the range of available VLANs within a group, users
|
||||
* [#8764](https://github.com/netbox-community/netbox/issues/8764) - Correct view name resolution for dynamic form fields
|
||||
* [#8791](https://github.com/netbox-community/netbox/issues/8791) - Fix display of form validation failures during device component creation
|
||||
* [#8792](https://github.com/netbox-community/netbox/issues/8792) - Fix creation of circuit terminations via UI
|
||||
* [#8810](https://github.com/netbox-community/netbox/issues/8810) - Enable filtering modules by type
|
||||
* [#8815](https://github.com/netbox-community/netbox/issues/8815) - Fix display of custom object fields in table columns
|
||||
|
||||
### Other Changes
|
||||
|
@ -972,6 +972,17 @@ class ModuleFilterSet(NetBoxModelFilterSet):
|
||||
to_field_name='slug',
|
||||
label='Manufacturer (slug)',
|
||||
)
|
||||
module_type_id = django_filters.ModelMultipleChoiceFilter(
|
||||
field_name='module_type',
|
||||
queryset=ModuleType.objects.all(),
|
||||
label='Module type (ID)',
|
||||
)
|
||||
module_type = django_filters.ModelMultipleChoiceFilter(
|
||||
field_name='module_type__model',
|
||||
queryset=ModuleType.objects.all(),
|
||||
to_field_name='model',
|
||||
label='Module type (model)',
|
||||
)
|
||||
device_id = django_filters.ModelMultipleChoiceFilter(
|
||||
queryset=Device.objects.all(),
|
||||
label='Device (ID)',
|
||||
|
@ -1803,6 +1803,13 @@ class ModuleTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||
params = {'manufacturer': [manufacturers[0].slug, manufacturers[1].slug]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
||||
|
||||
def test_module_type(self):
|
||||
module_types = ModuleType.objects.all()[:2]
|
||||
params = {'module_type_id': [module_types[0].pk, module_types[1].pk]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
||||
params = {'module_type': [module_types[0].model, module_types[1].model]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
||||
|
||||
def test_device(self):
|
||||
device_types = Device.objects.all()[:2]
|
||||
params = {'device_id': [device_types[0].pk, device_types[1].pk]}
|
||||
|
Loading…
Reference in New Issue
Block a user