Merge pull request #10233 from netbox-community/9665-rack-elevation-sorting

#9665 Rack Elevation Sorting Enhancements
This commit is contained in:
Jeremy Stretch
2022-09-02 08:53:16 -04:00
committed by GitHub
2 changed files with 23 additions and 8 deletions

View File

@@ -589,10 +589,17 @@ class RackElevationListView(generic.ObjectListView):
racks = filtersets.RackFilterSet(request.GET, self.queryset).qs
total_count = racks.count()
# Determine ordering
reverse = bool(request.GET.get('reverse', False))
if reverse:
racks = racks.reverse()
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")
if sort not in ORDERING_CHOICES:
sort = 'name'
racks = racks.order_by(sort)
# Pagination
per_page = get_paginate_count(request)
@@ -614,7 +621,9 @@ class RackElevationListView(generic.ObjectListView):
'paginator': paginator,
'page': page,
'total_count': total_count,
'reverse': reverse,
'sort': sort,
'sort_display_name': ORDERING_CHOICES[sort],
'sort_choices': ORDERING_CHOICES,
'rack_face': rack_face,
'filter_form': forms.RackElevationFilterForm(request.GET),
})