mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 17:38:37 -06:00
Fixes #563: Allow a device to be flipped from one rack face to the other
This commit is contained in:
parent
96de61ddfb
commit
ae8f40ed8d
@ -118,7 +118,11 @@ class RackUnitListView(APIView):
|
|||||||
|
|
||||||
rack = get_object_or_404(Rack, pk=pk)
|
rack = get_object_or_404(Rack, pk=pk)
|
||||||
face = request.GET.get('face', 0)
|
face = request.GET.get('face', 0)
|
||||||
elevation = rack.get_rack_units(face)
|
try:
|
||||||
|
exclude = int(request.GET.get('exclude', None))
|
||||||
|
except ValueError:
|
||||||
|
exclude = None
|
||||||
|
elevation = rack.get_rack_units(face, exclude)
|
||||||
|
|
||||||
# Serialize Devices within the rack elevation
|
# Serialize Devices within the rack elevation
|
||||||
for u in elevation:
|
for u in elevation:
|
||||||
|
@ -419,6 +419,10 @@ class DeviceForm(BootstrapMixin, CustomFieldForm):
|
|||||||
ip_choices += [(ip.id, u'{} ({} NAT)'.format(ip.address, ip.nat_inside.interface)) for ip in nat_ips]
|
ip_choices += [(ip.id, u'{} ({} NAT)'.format(ip.address, ip.nat_inside.interface)) for ip in nat_ips]
|
||||||
self.fields['primary_ip{}'.format(family)].choices = [(None, '---------')] + ip_choices
|
self.fields['primary_ip{}'.format(family)].choices = [(None, '---------')] + ip_choices
|
||||||
|
|
||||||
|
# If editing an existing device, exclude it from the list of occupied rack units. This ensures that a device
|
||||||
|
# can be flipped from one face to another.
|
||||||
|
self.fields['position'].widget.attrs['api-url'] += '&exclude={}'.format(self.instance.pk)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
# An object that doesn't exist yet can't have any IPs assigned to it
|
# An object that doesn't exist yet can't have any IPs assigned to it
|
||||||
|
Loading…
Reference in New Issue
Block a user