forked from CGM_Public/pretix_original
* fix sorting of filtered order list fixes #628 * implement comments on pr
This commit is contained in:
committed by
Raphael Michel
parent
457901ff82
commit
fd5d5ae98e
@@ -93,10 +93,16 @@ class OrderFilterForm(FilterForm):
|
|||||||
else:
|
else:
|
||||||
qs = qs.filter(status=s)
|
qs = qs.filter(status=s)
|
||||||
|
|
||||||
|
if fdata.get('ordering'):
|
||||||
|
qs = qs.order_by(dict(self.fields['ordering'].choices)[fdata.get('ordering')])
|
||||||
|
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
|
|
||||||
class EventOrderFilterForm(OrderFilterForm):
|
class EventOrderFilterForm(OrderFilterForm):
|
||||||
|
orders = {'code': 'code', 'email': 'email', 'total': 'total',
|
||||||
|
'datetime': 'datetime', 'status': 'status', 'pcnt': 'pcnt'}
|
||||||
|
|
||||||
item = forms.ModelChoiceField(
|
item = forms.ModelChoiceField(
|
||||||
label=_('Products'),
|
label=_('Products'),
|
||||||
queryset=Item.objects.none(),
|
queryset=Item.objects.none(),
|
||||||
@@ -157,6 +163,10 @@ class EventOrderFilterForm(OrderFilterForm):
|
|||||||
|
|
||||||
|
|
||||||
class OrderSearchFilterForm(OrderFilterForm):
|
class OrderSearchFilterForm(OrderFilterForm):
|
||||||
|
orders = {'code': 'code', 'email': 'email', 'total': 'total',
|
||||||
|
'datetime': 'datetime', 'status': 'status', 'pcnt': 'pcnt',
|
||||||
|
'event': 'event'}
|
||||||
|
|
||||||
organizer = forms.ModelChoiceField(
|
organizer = forms.ModelChoiceField(
|
||||||
label=_('Organizer'),
|
label=_('Organizer'),
|
||||||
queryset=Organizer.objects.none(),
|
queryset=Organizer.objects.none(),
|
||||||
|
|||||||
@@ -70,13 +70,6 @@ class OrderList(EventPermissionRequiredMixin, ListView):
|
|||||||
if self.filter_form.is_valid():
|
if self.filter_form.is_valid():
|
||||||
qs = self.filter_form.filter_qs(qs)
|
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()
|
return qs.distinct()
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
|||||||
Reference in New Issue
Block a user