فهرست منبع

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

jeremystretch 4 سال پیش
والد
کامیت
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.models import Circuit, ProviderNetwork, Provider
 from circuits.tables import CircuitTable, ProviderNetworkTable, ProviderTable
 from circuits.tables import CircuitTable, ProviderNetworkTable, ProviderTable
 from dcim.filtersets import (
 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 (
 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 (
 from ipam.filtersets import (
     AggregateFilterSet, ASNFilterSet, IPAddressFilterSet, PrefixFilterSet, VLANFilterSet, VRFFilterSet,
     AggregateFilterSet, ASNFilterSet, IPAddressFilterSet, PrefixFilterSet, VLANFilterSet, VRFFilterSet,
@@ -110,6 +112,22 @@ DCIM_TYPES = OrderedDict(
             'table': DeviceTable,
             'table': DeviceTable,
             'url': 'dcim:device_list',
             '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', {
         ('virtualchassis', {
             'queryset': VirtualChassis.objects.prefetch_related('master').annotate(
             'queryset': VirtualChassis.objects.prefetch_related('master').annotate(
                 member_count=count_related(Device, 'virtual_chassis')
                 member_count=count_related(Device, 'virtual_chassis')