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 @@