Browse Source

Enable sorting orders by order number. No display change.

master
Asia Biega 13 years ago
parent
commit
8e4b8eb30e
1 changed files with 14 additions and 0 deletions
  1. 14
    0
      oscar/apps/dashboard/orders/views.py

+ 14
- 0
oscar/apps/dashboard/orders/views.py View File

@@ -89,7 +89,10 @@ class OrderListView(ListView, BulkEditMixin):
89 89
         Build the queryset for this list and also update the title that
90 90
         describes the queryset
91 91
         """
92
+
92 93
         queryset = self.model.objects.all().order_by('-date_placed')
94
+        queryset = self.sort_queryset(queryset)
95
+
93 96
         self.description = self.base_description
94 97
 
95 98
         # Look for shortcut query filters
@@ -167,6 +170,17 @@ class OrderListView(ListView, BulkEditMixin):
167 170
 
168 171
         return queryset
169 172
 
173
+    def sort_queryset(self, queryset):
174
+        sort = self.request.GET.get('sort', None)
175
+        allowed_sorts = ['number',]
176
+
177
+        if sort in allowed_sorts:
178
+            direction = self.request.GET.get('dir', 'desc')
179
+            sort = ('-' if direction == 'desc' else '') + sort
180
+            queryset = queryset.order_by(sort)
181
+
182
+        return queryset
183
+
170 184
     def get_context_data(self, **kwargs):
171 185
         ctx = super(OrderListView, self).get_context_data(**kwargs)
172 186
         ctx['queryset_description'] = self.description

Loading…
Cancel
Save