Fix restriction violations for rack model

This commit is contained in:
Jeremy Stretch 2020-06-16 14:53:51 -04:00
parent adf0255bdf
commit efed2bc262
2 changed files with 6 additions and 4 deletions

View File

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

View File

@ -138,7 +138,7 @@
<tr>
<td>Devices</td>
<td>
<a href="{% url 'dcim:device_list' %}?rack_id={{ rack.id }}">{{ rack.devices.count }}</a>
<a href="{% url 'dcim:device_list' %}?rack_id={{ rack.id }}">{{ device_count }}</a>
</td>
</tr>
<tr>