|
|
@@ -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),
|
|
|
})
|