Procházet zdrojové kódy

Fix filtering for platforms, tenant groups

jeremystretch před 4 roky
rodič
revize
7eef726ee1

+ 9 - 0
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
 #

+ 2 - 0
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):

+ 1 - 1
netbox/templates/dcim/platform.html

@@ -5,7 +5,7 @@
 {% block breadcrumbs %}
   {{ block.super }}
   {% if object.manufacturer %}
-    <li class="breadcrumb-item"><a href="{% url 'dcim:platform_list' %}?manufacturer={{ object.manufacturer.slug }}">{{ object.manufacturer }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'dcim:platform_list' %}?manufacturer_id={{ object.manufacturer.pk }}">{{ object.manufacturer }}</a></li>
   {% endif %}
 {% endblock %}
 

+ 1 - 1
netbox/templates/tenancy/tenantgroup.html

@@ -5,7 +5,7 @@
 {% block breadcrumbs %}
   {{ block.super }}
   {% for tenantgroup in object.get_ancestors %}
-    <li class="breadcrumb-item"><a href="{% url 'tenancy:tenantgroup_list' %}?parent={{ tenantgroup.slug }}">{{ tenantgroup }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'tenancy:tenantgroup_list' %}?parent_id={{ tenantgroup.pk }}">{{ tenantgroup }}</a></li>
   {% endfor %}
 {% endblock %}
 

+ 9 - 0
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
 #

+ 2 - 0
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