diff --git a/src/pretix/control/templates/pretixcontrol/items/quotas.html b/src/pretix/control/templates/pretixcontrol/items/quotas.html
index e26b836dc8..447658623b 100644
--- a/src/pretix/control/templates/pretixcontrol/items/quotas.html
+++ b/src/pretix/control/templates/pretixcontrol/items/quotas.html
@@ -1,5 +1,6 @@
{% extends "pretixcontrol/items/base.html" %}
{% load i18n %}
+{% load urlreplace %}
{% block title %}{% trans "Quotas" %}{% endblock %}
{% block inside %}
{% trans "Quotas" %}
@@ -41,12 +42,21 @@
- | {% trans "Quota name" %} |
+ {% trans "Quota name" %}
+
+ |
+
{% trans "Products" %} |
{% if request.event.has_subevents %}
- {% trans "Date" context "subevent" %} |
+ {% trans "Date" context "subevent" %}
+
+ |
+
{% endif %}
- {% trans "Total capacity" %} |
+ {% trans "Total capacity" %}
+
+ |
+
{% trans "Capacity left" %} |
|
diff --git a/src/pretix/control/views/item.py b/src/pretix/control/views/item.py
index 1bb0934600..0406cc490d 100644
--- a/src/pretix/control/views/item.py
+++ b/src/pretix/control/views/item.py
@@ -698,6 +698,19 @@ class QuotaList(PaginationMixin, ListView):
if self.request.GET.get("subevent", "") != "":
s = self.request.GET.get("subevent", "")
qs = qs.filter(subevent_id=s)
+
+ valid_orders = {
+ '-date': ('-subevent__date_from', 'name'),
+ 'date': ('subevent__date_from', '-name'),
+ 'size': ('size', 'name'),
+ '-size': ('-size', '-name'),
+ 'name': ('name',),
+ '-name': ('-name',),
+ }
+
+ if self.request.GET.get("ordering", "-date") in valid_orders:
+ qs = qs.order_by(*valid_orders[self.request.GET.get("ordering", "-date")])
+
return qs
def get_context_data(self, **kwargs):