diff --git a/src/pretix/base/models/items.py b/src/pretix/base/models/items.py index 6d4a5291ad..7aa035970a 100644 --- a/src/pretix/base/models/items.py +++ b/src/pretix/base/models/items.py @@ -913,8 +913,6 @@ class Item(LoggedModel): :raises ValueError: if you call this on an item which has variations associated with it. Please use the method on the ItemVariation object you are interested in. """ - if not trust_parameters and not subevent and self.event.has_subevents: - raise TypeError('You need to supply a subevent.') check_quotas = self._get_quotas(ignored_quotas=ignored_quotas, subevent=subevent) quotacounter = Counter() res = Quota.AVAILABILITY_OK, None diff --git a/src/pretix/base/services/cart.py b/src/pretix/base/services/cart.py index 9e1c2e45fc..a59735daf2 100644 --- a/src/pretix/base/services/cart.py +++ b/src/pretix/base/services/cart.py @@ -793,9 +793,7 @@ class CartManager: operations = [] for i in items: - if self.event.has_subevents: - if not i.get('subevent') or int(i.get('subevent')) not in self._subevents_cache: - raise CartError(error_messages['subevent_required']) + if self.event.has_subevents and i.get('subevents'): subevent = self._subevents_cache[int(i.get('subevent'))] else: subevent = None diff --git a/src/pretix/base/services/cross_selling.py b/src/pretix/base/services/cross_selling.py index 3166747158..ea3cada949 100644 --- a/src/pretix/base/services/cross_selling.py +++ b/src/pretix/base/services/cross_selling.py @@ -58,9 +58,9 @@ class CrossSellingService: result = ( (DummyCategory(category, subevent), self._prepare_items(subevent, items_qs, discount_info), - f'subevent_{subevent.pk}_') + f'subevent_{subevent.pk}_' if subevent else '') for subevent in subevents - for (category, items_qs, discount_info) in self._applicable_categories(subevent.pk) + for (category, items_qs, discount_info) in self._applicable_categories(subevent.pk if subevent else 0) ) else: result = ( diff --git a/src/pretix/control/forms/item.py b/src/pretix/control/forms/item.py index b90592ffbd..b0a37b14e9 100644 --- a/src/pretix/control/forms/item.py +++ b/src/pretix/control/forms/item.py @@ -342,7 +342,6 @@ class QuotaForm(I18nModelForm): } ) self.fields['subevent'].widget.choices = self.fields['subevent'].choices - self.fields['subevent'].required = True else: del self.fields['subevent'] diff --git a/src/pretix/presale/templates/pretixpresale/event/index.html b/src/pretix/presale/templates/pretixpresale/event/index.html index 633f3c90bb..de43c5ddfa 100644 --- a/src/pretix/presale/templates/pretixpresale/event/index.html +++ b/src/pretix/presale/templates/pretixpresale/event/index.html @@ -185,69 +185,68 @@ {% eventsignal event "pretix.presale.signals.front_page_top" request=request subevent=subevent %} {% endif %} - - {% if ev.presale_is_running or event.settings.show_items_outside_presale_period %} -