1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Annotate need for natural ordering

This commit is contained in:
jeremystretch
2022-11-30 15:22:13 -05:00
committed by Jeremy Stretch
parent b36afdc924
commit 00d72f18cf

View File

@ -589,19 +589,18 @@ class RackElevationListView(generic.ObjectListView):
racks = filtersets.RackFilterSet(request.GET, self.queryset).qs
total_count = racks.count()
# Ordering
ORDERING_CHOICES = {
'name': 'Name (A-Z)',
'-name': 'Name (Z-A)',
'facility_id': 'Facility ID (A-Z)',
'-facility_id': 'Facility ID (Z-A)',
}
sort = request.GET.get('sort', "name")
sort = request.GET.get('sort', 'name')
if sort not in ORDERING_CHOICES:
sort = 'name'
sort_choice = sort
sort = sort.replace("name", "_name")
racks = racks.order_by(sort)
sort_field = sort.replace("name", "_name") # Use natural ordering
racks = racks.order_by(sort_field)
# Pagination
per_page = get_paginate_count(request)
@ -624,7 +623,7 @@ class RackElevationListView(generic.ObjectListView):
'page': page,
'total_count': total_count,
'sort': sort,
'sort_display_name': ORDERING_CHOICES[sort_choice],
'sort_display_name': ORDERING_CHOICES[sort],
'sort_choices': ORDERING_CHOICES,
'rack_face': rack_face,
'filter_form': forms.RackElevationFilterForm(request.GET),