فهرست منبع

Closes #8685: Add modules, module types to global search

jeremystretch 3 سال پیش
والد
کامیت
48dc76a694
1فایلهای تغییر یافته به همراه23 افزوده شده و 5 حذف شده
  1. 23 5
      netbox/netbox/constants.py

+ 23 - 5
netbox/netbox/constants.py

@@ -5,13 +5,15 @@ from circuits.filtersets import CircuitFilterSet, ProviderFilterSet, ProviderNet
 from circuits.models import Circuit, ProviderNetwork, Provider
 from circuits.tables import CircuitTable, ProviderNetworkTable, ProviderTable
 from dcim.filtersets import (
-    CableFilterSet, DeviceFilterSet, DeviceTypeFilterSet, PowerFeedFilterSet, RackFilterSet, RackReservationFilterSet,
-    LocationFilterSet, SiteFilterSet, VirtualChassisFilterSet,
+    CableFilterSet, DeviceFilterSet, DeviceTypeFilterSet, LocationFilterSet, ModuleFilterSet, ModuleTypeFilterSet,
+    PowerFeedFilterSet, RackFilterSet, RackReservationFilterSet, SiteFilterSet, VirtualChassisFilterSet,
+)
+from dcim.models import (
+    Cable, Device, DeviceType, Location, Module, ModuleType, PowerFeed, Rack, RackReservation, Site, VirtualChassis,
 )
-from dcim.models import Cable, Device, DeviceType, Location, PowerFeed, Rack, RackReservation, Site, VirtualChassis
 from dcim.tables import (
-    CableTable, DeviceTable, DeviceTypeTable, PowerFeedTable, RackTable, RackReservationTable, LocationTable, SiteTable,
-    VirtualChassisTable,
+    CableTable, DeviceTable, DeviceTypeTable, LocationTable, ModuleTable, ModuleTypeTable, PowerFeedTable, RackTable,
+    RackReservationTable, SiteTable, VirtualChassisTable,
 )
 from ipam.filtersets import (
     AggregateFilterSet, ASNFilterSet, IPAddressFilterSet, PrefixFilterSet, VLANFilterSet, VRFFilterSet,
@@ -110,6 +112,22 @@ DCIM_TYPES = OrderedDict(
             'table': DeviceTable,
             'url': 'dcim:device_list',
         }),
+        ('moduletype', {
+            'queryset': ModuleType.objects.prefetch_related('manufacturer').annotate(
+                instance_count=count_related(Module, 'module_type')
+            ),
+            'filterset': ModuleTypeFilterSet,
+            'table': ModuleTypeTable,
+            'url': 'dcim:moduletype_list',
+        }),
+        ('module', {
+            'queryset': Module.objects.prefetch_related(
+                'module_type__manufacturer', 'device', 'module_bay',
+            ),
+            'filterset': ModuleFilterSet,
+            'table': ModuleTable,
+            'url': 'dcim:module_list',
+        }),
         ('virtualchassis', {
             'queryset': VirtualChassis.objects.prefetch_related('master').annotate(
                 member_count=count_related(Device, 'virtual_chassis')