diff --git a/src/pretix/base/services/cross_selling.py b/src/pretix/base/services/cross_selling.py index d91be69fd0..3166747158 100644 --- a/src/pretix/base/services/cross_selling.py +++ b/src/pretix/base/services/cross_selling.py @@ -29,7 +29,7 @@ from typing import List from django.utils.functional import cached_property from pretix.base.models import CartPosition, ItemCategory, SalesChannel -from pretix.presale.productlist import get_grouped_items +from pretix.presale.productlist import prepare_item_list_for_shop class DummyCategory: @@ -162,7 +162,7 @@ class CrossSellingService: ] def _prepare_items(self, subevent, items_qs, discount_info): - items, _btn = get_grouped_items( + items, _btn = prepare_item_list_for_shop( self.event, subevent=subevent, voucher=None, diff --git a/src/pretix/base/services/orders.py b/src/pretix/base/services/orders.py index 14231566c1..5b67f57bbe 100644 --- a/src/pretix/base/services/orders.py +++ b/src/pretix/base/services/orders.py @@ -110,7 +110,7 @@ from pretix.celery_app import app from pretix.helpers import OF_SELF from pretix.helpers.models import modelcopy from pretix.helpers.periodic import minimum_interval -from pretix.presale.productlist import get_grouped_items +from pretix.presale.productlist import prepare_item_list_for_shop from pretix.testutils.middleware import debugflags_var @@ -2107,13 +2107,14 @@ class OrderChangeManager: for a in current_addons[cp][k][:current_num - input_num]: if a.canceled: continue - items, _ = get_grouped_items(self.order.event, - channel=self.order.sales_channel, - subevent=a.subevent, - has_voucher=True, - base_qs=Item.objects.filter(pk=a.item.pk), - allow_addons=True - ) + items, _ = prepare_item_list_for_shop( + self.order.event, + channel=self.order.sales_channel, + subevent=a.subevent, + has_voucher=True, + base_qs=Item.objects.filter(pk=a.item.pk), + allow_addons=True + ) is_unavailable = ( # If an item is no longer available due to time, it should usually also be no longer # user-removable, because e.g. the stock has already been ordered. diff --git a/src/pretix/presale/checkoutflow.py b/src/pretix/presale/checkoutflow.py index 9881303e6c..b6db5dcd97 100644 --- a/src/pretix/presale/checkoutflow.py +++ b/src/pretix/presale/checkoutflow.py @@ -87,7 +87,7 @@ from pretix.presale.forms.checkout import ( ContactForm, InvoiceAddressForm, InvoiceNameForm, MembershipForm, ) from pretix.presale.forms.customer import AuthenticationForm, RegistrationForm -from pretix.presale.productlist import get_grouped_items +from pretix.presale.productlist import prepare_item_list_for_shop from pretix.presale.signals import ( checkout_all_optional, checkout_confirm_messages, checkout_flow_steps, contact_form_fields, contact_form_fields_overrides, @@ -603,7 +603,7 @@ class AddOnsStep(CartMixin, AsyncAction, TemplateFlowStep): if ckey not in item_cache: # Get all items to possibly show - items, _btn = get_grouped_items( + items, _btn = prepare_item_list_for_shop( self.request.event, subevent=cartpos.subevent, voucher=None, diff --git a/src/pretix/presale/productlist.py b/src/pretix/presale/productlist.py index 6a5b95b44d..7b430589d5 100644 --- a/src/pretix/presale/productlist.py +++ b/src/pretix/presale/productlist.py @@ -54,10 +54,10 @@ def item_group_by_category(items): ) -def get_grouped_items(event, *, channel: SalesChannel, subevent=None, voucher=None, require_seat=0, base_qs=None, - allow_addons=False, allow_cross_sell=False, - quota_cache=None, filter_items=None, filter_categories=None, memberships=None, - ignore_hide_sold_out_for_item_ids=None, has_voucher=False): +def prepare_item_list_for_shop(event, *, channel: SalesChannel, subevent=None, voucher=None, require_seat=0, base_qs=None, + allow_addons=False, allow_cross_sell=False, + quota_cache=None, filter_items=None, filter_categories=None, memberships=None, + ignore_hide_sold_out_for_item_ids=None, has_voucher=False): base_qs_set = base_qs is not None base_qs = base_qs if base_qs is not None else event.items diff --git a/src/pretix/presale/views/cart.py b/src/pretix/presale/views/cart.py index 5ea2c55507..55c743ae8b 100644 --- a/src/pretix/presale/views/cart.py +++ b/src/pretix/presale/views/cart.py @@ -69,7 +69,7 @@ from pretix.base.views.tasks import AsyncAction from pretix.helpers.http import redirect_to_url from pretix.multidomain.urlreverse import eventreverse from pretix.presale.productlist import ( - get_grouped_items, item_group_by_category, + prepare_item_list_for_shop, item_group_by_category, ) from pretix.presale.views import ( CartMixin, EventViewMixin, allow_cors_if_namespaced, @@ -669,7 +669,7 @@ class RedeemView(NoSearchIndexViewMixin, EventViewMixin, CartMixin, TemplateView context['max_times'] = self.voucher.max_usages - self.voucher.redeemed # Fetch all items - items, display_add_to_cart = get_grouped_items( + items, display_add_to_cart = prepare_item_list_for_shop( self.request.event, subevent=self.subevent, voucher=self.voucher, diff --git a/src/pretix/presale/views/event.py b/src/pretix/presale/views/event.py index 20a56ade81..5a313beb33 100644 --- a/src/pretix/presale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -73,7 +73,7 @@ from pretix.helpers.http import redirect_to_url from pretix.multidomain.urlreverse import eventreverse from pretix.presale.ical import get_public_ical from pretix.presale.productlist import ( - get_grouped_items, item_group_by_category, + prepare_item_list_for_shop, item_group_by_category, ) from pretix.presale.signals import seatingframe_html_head from pretix.presale.views.organizer import ( @@ -193,7 +193,7 @@ class EventIndex(EventViewMixin, EventListMixin, CartMixin, TemplateView): if not self.request.event.has_subevents or self.subevent: # Fetch all items - items, display_add_to_cart = get_grouped_items( + items, display_add_to_cart = prepare_item_list_for_shop( self.request.event, subevent=self.subevent, filter_items=self.request.GET.getlist('item'), diff --git a/src/pretix/presale/views/order.py b/src/pretix/presale/views/order.py index b2f0142103..6245cf1530 100644 --- a/src/pretix/presale/views/order.py +++ b/src/pretix/presale/views/order.py @@ -92,7 +92,7 @@ from pretix.helpers.safedownload import check_token from pretix.multidomain.urlreverse import eventreverse, eventreverse_absolute from pretix.presale.forms.checkout import InvoiceAddressForm, QuestionsForm from pretix.presale.forms.order import OrderPositionChangeForm -from pretix.presale.productlist import get_grouped_items +from pretix.presale.productlist import prepare_item_list_for_shop from pretix.presale.signals import question_form_fields_overrides from pretix.presale.views import ( CartMixin, EventViewMixin, iframe_entry_view_wrapper, @@ -1452,7 +1452,7 @@ class OrderChangeMixin: if ckey not in item_cache: # Get all items to possibly show - items, _btn = get_grouped_items( + items, _btn = prepare_item_list_for_shop( self.request.event, subevent=p.subevent, voucher=None, diff --git a/src/pretix/presale/views/waiting.py b/src/pretix/presale/views/waiting.py index dcc79ad13a..f94fdbc9a9 100644 --- a/src/pretix/presale/views/waiting.py +++ b/src/pretix/presale/views/waiting.py @@ -40,7 +40,7 @@ from pretix.presale.views import EventViewMixin, iframe_entry_view_wrapper from ...base.i18n import get_language_without_region from ...base.models import Voucher, WaitingListEntry from ..forms.waitinglist import WaitingListForm -from ..utils import get_grouped_items +from ..productlist import prepare_item_list_for_shop from . import allow_frame_if_namespaced @@ -53,7 +53,7 @@ class WaitingView(EventViewMixin, FormView): @cached_property def itemvars(self): customer = getattr(self.request, 'customer', None) - items, display_add_to_cart = get_grouped_items( + items, display_add_to_cart = prepare_item_list_for_shop( self.request.event, subevent=self.subevent, require_seat=None, diff --git a/src/pretix/presale/views/widget.py b/src/pretix/presale/views/widget.py index 1d55d4338b..54aa982407 100644 --- a/src/pretix/presale/views/widget.py +++ b/src/pretix/presale/views/widget.py @@ -68,7 +68,7 @@ from pretix.helpers.thumb import get_thumbnail from pretix.multidomain.urlreverse import eventreverse_absolute from pretix.presale.forms.organizer import meta_filtersets from pretix.presale.productlist import ( - get_grouped_items, item_group_by_category, + prepare_item_list_for_shop, item_group_by_category, ) from pretix.presale.style import get_theme_vars_css from pretix.presale.views.cart import get_or_create_cart_id @@ -324,7 +324,7 @@ class WidgetAPIProductList(EventListMixin, View): ).values_list('item_id', flat=True) ) - items, display_add_to_cart = get_grouped_items( + items, display_add_to_cart = prepare_item_list_for_shop( self.request.event, subevent=self.subevent, voucher=self.voucher,