From d9867423de9848a8548eeff7105c38ae33eeab1e Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 8 Jul 2016 22:47:08 -0700 Subject: [PATCH 1/2] Use the natsort library to provide a generic sorting option for better sorting of generic names for device bays. --- netbox/dcim/views.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 4f0d7ec29..cb03a41d1 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1,4 +1,5 @@ import re +from operator import attrgetter from django.contrib import messages from django.contrib.auth.decorators import permission_required @@ -12,6 +13,8 @@ from django.shortcuts import get_object_or_404, redirect, render from django.utils.http import urlencode from django.views.generic import View +from natsort import natsorted + from ipam.models import Prefix, IPAddress, VLAN from circuits.models import Circuit from extras.models import TopologyMap @@ -520,7 +523,10 @@ def device(request, pk): .select_related('connected_as_a', 'connected_as_b', 'circuit') mgmt_interfaces = Interface.objects.filter(device=device, mgmt_only=True)\ .select_related('connected_as_a', 'connected_as_b', 'circuit') - device_bays = DeviceBay.objects.filter(device=device).select_related('installed_device__device_type__manufacturer') + device_bays = natsorted( + DeviceBay.objects.filter(device=device).select_related('installed_device__device_type__manufacturer'), + key=attrgetter("name") + ) # Gather any secrets which belong to this device secrets = device.secrets.all() From 173a4cde8b51a379d157800bcf24ab73b5a56374 Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 8 Jul 2016 23:27:00 -0700 Subject: [PATCH 2/2] Update the requirements file to include the natsort library requirement. --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index c1afc1b21..7b87785df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,3 +15,4 @@ py-gfm==0.1.3 pycrypto==2.6.1 sqlparse==0.1.19 xmltodict==0.10.2 +natsort>=5.0.0