Просмотр исходного кода

Closes #6200: Add rack reservations to global search

jeremystretch 4 лет назад
Родитель
Сommit
fe2ce03ac1
3 измененных файлов с 14 добавлено и 6 удалено
  1. 1 0
      docs/release-notes/version-2.11.md
  2. 10 4
      netbox/netbox/constants.py
  3. 3 2
      netbox/netbox/forms.py

+ 1 - 0
docs/release-notes/version-2.11.md

@@ -5,6 +5,7 @@
 ### Enhancements
 
 * [#6138](https://github.com/netbox-community/netbox/issues/6138) - Add an `empty` filter modifier for character fields
+* [#6200](https://github.com/netbox-community/netbox/issues/6200) - Add rack reservations to global search
 * [#6368](https://github.com/netbox-community/netbox/issues/6368) - Enable virtual chassis assignment during bulk import of devices
 * [#6620](https://github.com/netbox-community/netbox/issues/6620) - Show assigned VMs count under device role view
 * [#6666](https://github.com/netbox-community/netbox/issues/6666) - Show management-only status under interface detail view

+ 10 - 4
netbox/netbox/constants.py

@@ -4,12 +4,12 @@ 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, LocationFilterSet,
-    SiteFilterSet, VirtualChassisFilterSet,
+    CableFilterSet, DeviceFilterSet, DeviceTypeFilterSet, PowerFeedFilterSet, RackFilterSet, RackReservationFilterSet,
+    LocationFilterSet, SiteFilterSet, VirtualChassisFilterSet,
 )
-from dcim.models import Cable, Device, DeviceType, PowerFeed, Rack, Location, Site, VirtualChassis
+from dcim.models import Cable, Device, DeviceType, Location, PowerFeed, Rack, RackReservation, Site, VirtualChassis
 from dcim.tables import (
-    CableTable, DeviceTable, DeviceTypeTable, PowerFeedTable, RackTable, LocationTable, SiteTable,
+    CableTable, DeviceTable, DeviceTypeTable, PowerFeedTable, RackTable, RackReservationTable, LocationTable, SiteTable,
     VirtualChassisTable,
 )
 from ipam.filtersets import AggregateFilterSet, IPAddressFilterSet, PrefixFilterSet, VLANFilterSet, VRFFilterSet
@@ -64,6 +64,12 @@ SEARCH_TYPES = OrderedDict((
         'table': RackTable,
         'url': 'dcim:rack_list',
     }),
+    ('rackreservation', {
+        'queryset': RackReservation.objects.prefetch_related('site', 'rack', 'user'),
+        'filterset': RackReservationFilterSet,
+        'table': RackReservationTable,
+        'url': 'dcim:rackreservation_list',
+    }),
     ('location', {
         'queryset': Location.objects.add_related_count(
             Location.objects.all(),

+ 3 - 2
netbox/netbox/forms.py

@@ -11,12 +11,13 @@ OBJ_TYPE_CHOICES = (
     ('DCIM', (
         ('site', 'Sites'),
         ('rack', 'Racks'),
+        ('rackreservation', 'Rack reservations'),
         ('location', 'Locations'),
         ('devicetype', 'Device types'),
         ('device', 'Devices'),
-        ('virtualchassis', 'Virtual Chassis'),
+        ('virtualchassis', 'Virtual chassis'),
         ('cable', 'Cables'),
-        ('powerfeed', 'Power Feeds'),
+        ('powerfeed', 'Power feeds'),
     )),
     ('IPAM', (
         ('vrf', 'VRFs'),