From 8af970401d37a85883f512677ca75b27b31d215b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 16 Jun 2020 14:53:51 -0400 Subject: [PATCH] Fix restriction violations for rack model --- netbox/dcim/views.py | 8 +++++--- netbox/templates/dcim/rack.html | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 846cec506..6aad18bd3 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -370,7 +370,6 @@ class RackView(ObjectView): queryset = Rack.objects.prefetch_related('site__region', 'tenant__group', 'group', 'role') def get(self, request, pk): - rack = get_object_or_404(self.queryset, pk=pk) nonracked_devices = Device.objects.restrict(request.user, 'view').filter( @@ -378,10 +377,12 @@ class RackView(ObjectView): position__isnull=True, parent_bay__isnull=True ).prefetch_related('device_type__manufacturer') + + peer_racks = Rack.objects.restrict(request.user, 'view').filter(site=rack.site) if rack.group: - peer_racks = Rack.objects.filter(site=rack.site, group=rack.group) + peer_racks = peer_racks.filter(group=rack.group) else: - peer_racks = Rack.objects.filter(site=rack.site, group__isnull=True) + peer_racks = peer_racks.filter(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() @@ -390,6 +391,7 @@ class RackView(ObjectView): return render(request, 'dcim/rack.html', { 'rack': rack, + 'device_count': Device.objects.restrict(request.user, 'view').filter(rack=rack).count(), 'reservations': reservations, 'power_feeds': power_feeds, 'nonracked_devices': nonracked_devices, diff --git a/netbox/templates/dcim/rack.html b/netbox/templates/dcim/rack.html index 2c7452ba2..8d63a7095 100644 --- a/netbox/templates/dcim/rack.html +++ b/netbox/templates/dcim/rack.html @@ -138,7 +138,7 @@ Devices - {{ rack.devices.count }} + {{ device_count }}