From fe2ce03ac1e691b765c66f26f0212b8174cb15b4 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 6 Jul 2021 10:17:16 -0400 Subject: [PATCH] Closes #6200: Add rack reservations to global search --- docs/release-notes/version-2.11.md | 1 + netbox/netbox/constants.py | 14 ++++++++++---- netbox/netbox/forms.py | 5 +++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index 0d3df2a1a..f23a7dab8 100644 --- a/docs/release-notes/version-2.11.md +++ b/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 diff --git a/netbox/netbox/constants.py b/netbox/netbox/constants.py index b6da0b2de..966c162be 100644 --- a/netbox/netbox/constants.py +++ b/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(), diff --git a/netbox/netbox/forms.py b/netbox/netbox/forms.py index cf61cc03f..bfcd80125 100644 --- a/netbox/netbox/forms.py +++ b/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'),