From 60ec3fde9d7edb671dd3ae9d6eda31513b47b1ca Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 29 Oct 2019 15:17:00 -0400 Subject: [PATCH] Closes #3652: Limit next/previous rack by assigned rack group --- docs/release-notes/version-2.6.md | 1 + netbox/dcim/views.py | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-2.6.md b/docs/release-notes/version-2.6.md index bb1bbcd78..da09c503b 100644 --- a/docs/release-notes/version-2.6.md +++ b/docs/release-notes/version-2.6.md @@ -15,6 +15,7 @@ * [#3629](https://github.com/netbox-community/netbox/issues/3629) - Use `get_lldp_neighors_detail` to validation LLDP neighbors * [#3635](https://github.com/netbox-community/netbox/issues/3635) - Add missing cache support for the circuits app * [#3636](https://github.com/netbox-community/netbox/issues/3636) - Add missing `rack_group` field to PowerFeed CSV export +* [#3652](https://github.com/netbox-community/netbox/issues/3652) - Limit next/previous rack by assigned rack group --- diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 58c759822..959e1043e 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -404,8 +404,12 @@ class RackView(PermissionRequiredMixin, View): position__isnull=True, parent_bay__isnull=True ).prefetch_related('device_type__manufacturer') - next_rack = Rack.objects.filter(site=rack.site, name__gt=rack.name).order_by('name').first() - prev_rack = Rack.objects.filter(site=rack.site, name__lt=rack.name).order_by('-name').first() + if rack.group: + peer_racks = Rack.objects.filter(site=rack.site, group=rack.group) + else: + peer_racks = Rack.objects.filter(site=rack.site, group__isnull=True) + next_rack = peer_racks.filter(name__gt=rack.name).order_by('name').first() + prev_rack = peer_racks.filter(name__lt=rack.name).order_by('-name').first() reservations = RackReservation.objects.filter(rack=rack) power_feeds = PowerFeed.objects.filter(rack=rack).prefetch_related('power_panel')