mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-18 05:28:16 -06:00
Apply suggestions from code review
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
This commit is contained in:
parent
31ad7119e7
commit
b6a981895a
@ -824,10 +824,6 @@ class PlatformFilterSet(OrganizationalModelFilterSet):
|
|||||||
queryset=DeviceType.objects.all(),
|
queryset=DeviceType.objects.all(),
|
||||||
method='get_for_device_type'
|
method='get_for_device_type'
|
||||||
)
|
)
|
||||||
available_for_manufacturer = django_filters.ModelChoiceFilter(
|
|
||||||
queryset=Manufacturer.objects.all(),
|
|
||||||
method='get_for_manufacturer'
|
|
||||||
)
|
|
||||||
config_template_id = django_filters.ModelMultipleChoiceFilter(
|
config_template_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
queryset=ConfigTemplate.objects.all(),
|
queryset=ConfigTemplate.objects.all(),
|
||||||
label=_('Config template (ID)'),
|
label=_('Config template (ID)'),
|
||||||
@ -845,13 +841,6 @@ class PlatformFilterSet(OrganizationalModelFilterSet):
|
|||||||
"""
|
"""
|
||||||
return queryset.filter(Q(manufacturer=None) | Q(manufacturer__device_types=value))
|
return queryset.filter(Q(manufacturer=None) | Q(manufacturer__device_types=value))
|
||||||
|
|
||||||
@extend_schema_field(OpenApiTypes.STR)
|
|
||||||
def get_for_manufacturer(self, queryset, name, value):
|
|
||||||
"""
|
|
||||||
Return all Platforms available for a specific manufacturer and Platforms not assigned any manufacturer
|
|
||||||
"""
|
|
||||||
return queryset.filter(Q(manufacturer=None) | Q(**{f'manufacturer': value}))
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceFilterSet(
|
class DeviceFilterSet(
|
||||||
NetBoxModelFilterSet,
|
NetBoxModelFilterSet,
|
||||||
|
@ -294,7 +294,7 @@ class DeviceTypeForm(NetBoxModelForm):
|
|||||||
required=False,
|
required=False,
|
||||||
selector=True,
|
selector=True,
|
||||||
query_params={
|
query_params={
|
||||||
'available_for_manufacturer': '$manufacturer',
|
'manufacturer_id': ['$manufacturer', 'null'],
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
slug = SlugField(
|
slug = SlugField(
|
||||||
|
@ -1825,11 +1825,6 @@ class PlatformTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||||||
params = {'available_for_device_type': device_type.pk}
|
params = {'available_for_device_type': device_type.pk}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
def test_available_for_manufacturer(self):
|
|
||||||
manufacturer = Manufacturer.objects.first()
|
|
||||||
params = {'available_for_manufacturer': manufacturer.pk}
|
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceTestCase(TestCase, ChangeLoggedFilterSetTests):
|
class DeviceTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||||
queryset = Device.objects.all()
|
queryset = Device.objects.all()
|
||||||
|
Loading…
Reference in New Issue
Block a user