mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-15 19:52:52 -06:00
Fixes 16536 - Fix filtering of device component by device role (#16553)
* Fixes 16536 - Fix filtering of device component by device role Rename role and role_id fields to device_role and device_role_id in DeviceComponentFilterSet * Update tests for DeviceComponentFilterSet * Use device_role filter name for DeviceComponentFilterSetTests * Add test_device_role test in InventoryItemTestCase
This commit is contained in:
parent
4ea4e57f33
commit
d39acfd3f2
@ -1389,12 +1389,12 @@ class DeviceComponentFilterSet(django_filters.FilterSet):
|
|||||||
to_field_name='model',
|
to_field_name='model',
|
||||||
label=_('Device type (model)'),
|
label=_('Device type (model)'),
|
||||||
)
|
)
|
||||||
role_id = django_filters.ModelMultipleChoiceFilter(
|
device_role_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
field_name='device__role',
|
field_name='device__role',
|
||||||
queryset=DeviceRole.objects.all(),
|
queryset=DeviceRole.objects.all(),
|
||||||
label=_('Device role (ID)'),
|
label=_('Device role (ID)'),
|
||||||
)
|
)
|
||||||
role = django_filters.ModelMultipleChoiceFilter(
|
device_role = django_filters.ModelMultipleChoiceFilter(
|
||||||
field_name='device__role__slug',
|
field_name='device__role__slug',
|
||||||
queryset=DeviceRole.objects.all(),
|
queryset=DeviceRole.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
|
@ -32,11 +32,11 @@ class DeviceComponentFilterSetTests:
|
|||||||
params = {'device_type': [device_types[0].model, device_types[1].model]}
|
params = {'device_type': [device_types[0].model, device_types[1].model]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
def test_role(self):
|
def test_device_role(self):
|
||||||
role = DeviceRole.objects.all()[:2]
|
role = DeviceRole.objects.all()[:2]
|
||||||
params = {'role_id': [role[0].pk, role[1].pk]}
|
params = {'device_role_id': [role[0].pk, role[1].pk]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
params = {'role': [role[0].slug, role[1].slug]}
|
params = {'device_role': [role[0].slug, role[1].slug]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
|
||||||
@ -4547,6 +4547,13 @@ class InventoryItemTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||||||
params = {'device_type': [device_types[0].model, device_types[1].model]}
|
params = {'device_type': [device_types[0].model, device_types[1].model]}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
||||||
|
|
||||||
|
def test_device_role(self):
|
||||||
|
role = DeviceRole.objects.all()[:2]
|
||||||
|
params = {'device_role_id': [role[0].pk, role[1].pk]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
||||||
|
params = {'device_role': [role[0].slug, role[1].slug]}
|
||||||
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
||||||
|
|
||||||
def test_role(self):
|
def test_role(self):
|
||||||
role = DeviceRole.objects.all()[:2]
|
role = DeviceRole.objects.all()[:2]
|
||||||
params = {'role_id': [role[0].pk, role[1].pk]}
|
params = {'role_id': [role[0].pk, role[1].pk]}
|
||||||
|
Loading…
Reference in New Issue
Block a user