diff --git a/src/pretix/control/forms/filter.py b/src/pretix/control/forms/filter.py index f759c9de3..e052c6890 100644 --- a/src/pretix/control/forms/filter.py +++ b/src/pretix/control/forms/filter.py @@ -93,10 +93,16 @@ class OrderFilterForm(FilterForm): else: qs = qs.filter(status=s) + if fdata.get('ordering'): + qs = qs.order_by(dict(self.fields['ordering'].choices)[fdata.get('ordering')]) + return qs class EventOrderFilterForm(OrderFilterForm): + orders = {'code': 'code', 'email': 'email', 'total': 'total', + 'datetime': 'datetime', 'status': 'status', 'pcnt': 'pcnt'} + item = forms.ModelChoiceField( label=_('Products'), queryset=Item.objects.none(), @@ -157,6 +163,10 @@ class EventOrderFilterForm(OrderFilterForm): class OrderSearchFilterForm(OrderFilterForm): + orders = {'code': 'code', 'email': 'email', 'total': 'total', + 'datetime': 'datetime', 'status': 'status', 'pcnt': 'pcnt', + 'event': 'event'} + organizer = forms.ModelChoiceField( label=_('Organizer'), queryset=Organizer.objects.none(), diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index e1021e28c..ee0cbb115 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -70,13 +70,6 @@ class OrderList(EventPermissionRequiredMixin, ListView): if self.filter_form.is_valid(): qs = self.filter_form.filter_qs(qs) - if self.request.GET.get("ordering", "") != "": - p = self.request.GET.get("ordering", "") - p_admissable = ('-code', 'code', '-email', 'email', '-total', 'total', '-datetime', - 'datetime', '-status', 'status', 'pcnt', '-pcnt') - if p in p_admissable: - qs = qs.order_by(p) - return qs.distinct() def get_context_data(self, **kwargs):