mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 17:38:37 -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
|
* [#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
|
* [#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
|
* [#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
|
* [#8815](https://github.com/netbox-community/netbox/issues/8815) - Fix display of custom object fields in table columns
|
||||||
|
|
||||||
### Other Changes
|
### Other Changes
|
||||||
|
@ -972,6 +972,17 @@ class ModuleFilterSet(NetBoxModelFilterSet):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
label='Manufacturer (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(
|
device_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
queryset=Device.objects.all(),
|
queryset=Device.objects.all(),
|
||||||
label='Device (ID)',
|
label='Device (ID)',
|
||||||
|
@ -1803,6 +1803,13 @@ class ModuleTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||||||
params = {'manufacturer': [manufacturers[0].slug, manufacturers[1].slug]}
|
params = {'manufacturer': [manufacturers[0].slug, manufacturers[1].slug]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
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):
|
def test_device(self):
|
||||||
device_types = Device.objects.all()[:2]
|
device_types = Device.objects.all()[:2]
|
||||||
params = {'device_id': [device_types[0].pk, device_types[1].pk]}
|
params = {'device_id': [device_types[0].pk, device_types[1].pk]}
|
||||||
|
Loading…
Reference in New Issue
Block a user