From 7eef726ee15cdd1a110933c380989ac799681509 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 20 Jul 2021 15:39:58 -0400 Subject: [PATCH] Fix filtering for platforms, tenant groups --- netbox/dcim/forms.py | 9 +++++++++ netbox/dcim/views.py | 2 ++ netbox/templates/dcim/platform.html | 2 +- netbox/templates/tenancy/tenantgroup.html | 2 +- netbox/tenancy/forms.py | 9 +++++++++ netbox/tenancy/views.py | 2 ++ 6 files changed, 24 insertions(+), 2 deletions(-) diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index aecf046bb..9ddc8ae80 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -2025,6 +2025,15 @@ class PlatformBulkEditForm(BootstrapMixin, CustomFieldModelBulkEditForm): nullable_fields = ['manufacturer', 'napalm_driver', 'description'] +class PlatformFilterForm(BootstrapMixin, CustomFieldModelFilterForm): + model = Platform + manufacturer_id = DynamicModelMultipleChoiceField( + queryset=Manufacturer.objects.all(), + required=False, + label=_('Manufacturer') + ) + + # # Devices # diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index a1547fc3b..d38d95aee 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1218,6 +1218,8 @@ class PlatformListView(generic.ObjectListView): vm_count=count_related(VirtualMachine, 'platform') ) table = tables.PlatformTable + filterset = filtersets.PlatformFilterSet + filterset_form = forms.PlatformFilterForm class PlatformView(generic.ObjectView): diff --git a/netbox/templates/dcim/platform.html b/netbox/templates/dcim/platform.html index c19790b1e..3a45905e9 100644 --- a/netbox/templates/dcim/platform.html +++ b/netbox/templates/dcim/platform.html @@ -5,7 +5,7 @@ {% block breadcrumbs %} {{ block.super }} {% if object.manufacturer %} - + {% endif %} {% endblock %} diff --git a/netbox/templates/tenancy/tenantgroup.html b/netbox/templates/tenancy/tenantgroup.html index c442cfcd3..6394fc717 100644 --- a/netbox/templates/tenancy/tenantgroup.html +++ b/netbox/templates/tenancy/tenantgroup.html @@ -5,7 +5,7 @@ {% block breadcrumbs %} {{ block.super }} {% for tenantgroup in object.get_ancestors %} - + {% endfor %} {% endblock %} diff --git a/netbox/tenancy/forms.py b/netbox/tenancy/forms.py index 17c325815..19e2fc38c 100644 --- a/netbox/tenancy/forms.py +++ b/netbox/tenancy/forms.py @@ -62,6 +62,15 @@ class TenantGroupBulkEditForm(BootstrapMixin, CustomFieldModelBulkEditForm): nullable_fields = ['parent', 'description'] +class TenantGroupFilterForm(BootstrapMixin, CustomFieldModelFilterForm): + model = TenantGroup + parent_id = DynamicModelMultipleChoiceField( + queryset=TenantGroup.objects.all(), + required=False, + label=_('Parent group') + ) + + # # Tenants # diff --git a/netbox/tenancy/views.py b/netbox/tenancy/views.py index b4a29a2e6..22d669a0d 100644 --- a/netbox/tenancy/views.py +++ b/netbox/tenancy/views.py @@ -20,6 +20,8 @@ class TenantGroupListView(generic.ObjectListView): 'tenant_count', cumulative=True ) + filterset = filtersets.TenantGroupFilterSet + filterset_form = forms.TenantGroupFilterForm table = tables.TenantGroupTable