Fixes #4008: Toggle rack elevation face using front/rear strings

This commit is contained in:
Jeremy Stretch 2020-01-24 15:28:15 -05:00
parent 45b66b174c
commit 35cbee5107
3 changed files with 9 additions and 12 deletions

View File

@ -13,6 +13,7 @@
* [#3983](https://github.com/netbox-community/netbox/issues/3983) - Permit the creation of multiple unnamed devices * [#3983](https://github.com/netbox-community/netbox/issues/3983) - Permit the creation of multiple unnamed devices
* [#3989](https://github.com/netbox-community/netbox/issues/3989) - Correct HTTP content type assignment for webhooks * [#3989](https://github.com/netbox-community/netbox/issues/3989) - Correct HTTP content type assignment for webhooks
* [#3999](https://github.com/netbox-community/netbox/issues/3999) - Do not filter child results by null if non-required parent fields are blank * [#3999](https://github.com/netbox-community/netbox/issues/3999) - Do not filter child results by null if non-required parent fields are blank
* [#4008](https://github.com/netbox-community/netbox/issues/4008) - Toggle rack elevation face using front/rear strings
--- ---

View File

@ -30,6 +30,7 @@ from utilities.views import (
) )
from virtualization.models import VirtualMachine from virtualization.models import VirtualMachine
from . import filters, forms, tables from . import filters, forms, tables
from .choices import DeviceFaceChoices
from .models import ( from .models import (
Cable, ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay, Cable, ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
DeviceBayTemplate, DeviceRole, DeviceType, FrontPort, FrontPortTemplate, Interface, InterfaceTemplate, DeviceBayTemplate, DeviceRole, DeviceType, FrontPort, FrontPortTemplate, Interface, InterfaceTemplate,
@ -376,16 +377,15 @@ class RackElevationListView(PermissionRequiredMixin, View):
page = paginator.page(paginator.num_pages) page = paginator.page(paginator.num_pages)
# Determine rack face # Determine rack face
if request.GET.get('face') == '1': rack_face = request.GET.get('face', DeviceFaceChoices.FACE_FRONT)
face_id = 1 if rack_face not in DeviceFaceChoices.values():
else: rack_face = DeviceFaceChoices.FACE_FRONT
face_id = 0
return render(request, 'dcim/rack_elevation_list.html', { return render(request, 'dcim/rack_elevation_list.html', {
'paginator': paginator, 'paginator': paginator,
'page': page, 'page': page,
'total_count': total_count, 'total_count': total_count,
'face_id': face_id, 'rack_face': rack_face,
'filter_form': forms.RackElevationFilterForm(request.GET), 'filter_form': forms.RackElevationFilterForm(request.GET),
}) })

View File

@ -3,8 +3,8 @@
{% block content %} {% block content %}
<div class="btn-group pull-right noprint" role="group"> <div class="btn-group pull-right noprint" role="group">
<a href="{% url 'dcim:rack_elevation_list' %}{% querystring request face=0 %}" class="btn btn-default{% if request.GET.face != '1' %} active{% endif %}">Front</a> <a href="{% url 'dcim:rack_elevation_list' %}{% querystring request face='front' %}" class="btn btn-default{% if rack_face == 'front' %} active{% endif %}">Front</a>
<a href="{% url 'dcim:rack_elevation_list' %}{% querystring request face=1 %}" class="btn btn-default{% if request.GET.face == '1' %} active{% endif %}">Rear</a> <a href="{% url 'dcim:rack_elevation_list' %}{% querystring request face='rear' %}" class="btn btn-default{% if rack_face == 'rear' %} active{% endif %}">Rear</a>
</div> </div>
<h1>{% block title %}Rack Elevations{% endblock %}</h1> <h1>{% block title %}Rack Elevations{% endblock %}</h1>
<div class="row"> <div class="row">
@ -17,11 +17,7 @@
<strong><a href="{% url 'dcim:rack' pk=rack.pk %}">{{ rack.name|truncatechars:"25" }}</a></strong> <strong><a href="{% url 'dcim:rack' pk=rack.pk %}">{{ rack.name|truncatechars:"25" }}</a></strong>
<p><small class="text-muted">{{ rack.facility_id|truncatechars:"30" }}</small></p> <p><small class="text-muted">{{ rack.facility_id|truncatechars:"30" }}</small></p>
</div> </div>
{% if face_id %} {% include 'dcim/inc/rack_elevation.html' with face=rack_face %}
{% include 'dcim/inc/rack_elevation.html' with face='rear' %}
{% else %}
{% include 'dcim/inc/rack_elevation.html' with face='front' %}
{% endif %}
<div class="clearfix"></div> <div class="clearfix"></div>
<div class="rack_header"> <div class="rack_header">
<strong><a href="{% url 'dcim:rack' pk=rack.pk %}">{{ rack.name|truncatechars:"25" }}</a></strong> <strong><a href="{% url 'dcim:rack' pk=rack.pk %}">{{ rack.name|truncatechars:"25" }}</a></strong>