diff --git a/netbox/dcim/api/views.py b/netbox/dcim/api/views.py index 7eb40b526..d262abaac 100644 --- a/netbox/dcim/api/views.py +++ b/netbox/dcim/api/views.py @@ -3,7 +3,7 @@ from collections import OrderedDict import svgwrite from django.conf import settings from django.db.models import Count, F -from django.http import HttpResponseForbidden, HttpResponse +from django.http import HttpResponseForbidden, HttpResponseBadRequest, HttpResponse from django.shortcuts import get_object_or_404, reverse from django.utils.http import urlencode from drf_yasg import openapi @@ -218,7 +218,13 @@ class RackElevationViewSet(ViewSet): """ rack = get_object_or_404(Rack, pk=pk) - elevation = rack.get_front_elevation() + side = request.GET.get('face', 'front') + if side == 'front': + elevation = rack.get_front_elevation() + elif side == 'rear': + elevation = rack.get_rear_elevation() + else: + return HttpResponseBadRequest('side should either be "front" or "back".') drawing = svgwrite.Drawing(size=(230, len(elevation)*20), style="box-sizing: border-box") for i, u in enumerate(elevation): diff --git a/netbox/templates/dcim/inc/rack_elevation.html b/netbox/templates/dcim/inc/rack_elevation.html index bfcb76317..92ad859f7 100644 --- a/netbox/templates/dcim/inc/rack_elevation.html +++ b/netbox/templates/dcim/inc/rack_elevation.html @@ -8,6 +8,6 @@
- +
diff --git a/netbox/templates/dcim/rack.html b/netbox/templates/dcim/rack.html index f82ee0d4f..09495b4f7 100644 --- a/netbox/templates/dcim/rack.html +++ b/netbox/templates/dcim/rack.html @@ -317,13 +317,13 @@

Front

- {% include 'dcim/inc/rack_elevation.html' with primary_face=front_elevation secondary_face=rear_elevation face_id=0 reserved_units=rack.get_reserved_units %} + {% include 'dcim/inc/rack_elevation.html' with face="front" %}

Rear

- {% include 'dcim/inc/rack_elevation.html' with primary_face=rear_elevation secondary_face=front_elevation face_id=1 reserved_units=rack.get_reserved_units %} + {% include 'dcim/inc/rack_elevation.html' with face="rear" %}