diff --git a/src/pretix/base/templates/icons/seat.svg b/src/pretix/base/templates/icons/seat.svg
new file mode 100644
index 000000000..ae6ea834e
--- /dev/null
+++ b/src/pretix/base/templates/icons/seat.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/pretix/control/templates/pretixcontrol/items/index.html b/src/pretix/control/templates/pretixcontrol/items/index.html
index 4bda32aee..a803c6495 100644
--- a/src/pretix/control/templates/pretixcontrol/items/index.html
+++ b/src/pretix/control/templates/pretixcontrol/items/index.html
@@ -40,6 +40,7 @@
|
|
|
+ |
{% trans "Default price" %} |
Edit |
@@ -111,6 +112,14 @@
{% endif %}
+
+ {% if i.requires_seat %}
+
+ {% include "icons/seat.svg" with cls="svg-icon text-muted" %}
+
+ {% endif %}
+ |
{% if i.category.is_addon %}
-
+ {% include "icons/seat.svg" with cls="svg-icon" %}
{{ line.seat }}
{% endif %}
{% if line.voucher %}
diff --git a/src/pretix/control/views/item.py b/src/pretix/control/views/item.py
index 5177565c3..9c4b51ef7 100644
--- a/src/pretix/control/views/item.py
+++ b/src/pretix/control/views/item.py
@@ -65,7 +65,7 @@ from pretix.api.serializers.item import (
from pretix.base.forms import I18nFormSet
from pretix.base.models import (
CartPosition, Item, ItemCategory, ItemVariation, Order, Question,
- QuestionAnswer, QuestionOption, Quota, Voucher,
+ QuestionAnswer, QuestionOption, Quota, SeatCategoryMapping, Voucher,
)
from pretix.base.models.event import SubEvent
from pretix.base.models.items import ItemAddOn, ItemBundle, ItemMetaValue
@@ -101,10 +101,16 @@ class ItemList(ListView):
template_name = 'pretixcontrol/items/index.html'
def get_queryset(self):
+ requires_seat = Exists(
+ SeatCategoryMapping.objects.filter(
+ product_id=OuterRef('pk'),
+ )
+ )
return Item.objects.filter(
event=self.request.event
).select_related("tax_rule").annotate(
- var_count=Count('variations')
+ var_count=Count('variations'),
+ requires_seat=requires_seat,
).prefetch_related("category", "limit_sales_channels").order_by(
F('category__position').asc(nulls_first=True),
'category', 'position'
diff --git a/src/pretix/icons/seat.svg b/src/pretix/icons/seat.svg
index 8def34ab8..fe57ca0be 100644
--- a/src/pretix/icons/seat.svg
+++ b/src/pretix/icons/seat.svg
@@ -1,5 +1,5 @@
- |