From 6f780858766fc06551ec53bed02077993c31fdbb Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Fri, 26 Jan 2024 18:23:52 +0100 Subject: [PATCH] fix order download 404 --- src/pretix/base/models/orders.py | 1 - src/pretix/base/settings.py | 1 - src/pretix/presale/views/order.py | 7 +++---- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index a973d2f98..f88e929a8 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -1144,7 +1144,6 @@ class Order(LockModel, LoggedModel): @property def positions_with_tickets(self): signal_response = allow_ticket_download.send(self.event, order=self) - print("signal_response", signal_response) if all([r is True for rr, r in signal_response]): return self.positions_with_tickets_ignoring_plugins elif any([r is False for rr, r in signal_response]): diff --git a/src/pretix/base/settings.py b/src/pretix/base/settings.py index 8b486b3b7..88e5aa789 100644 --- a/src/pretix/base/settings.py +++ b/src/pretix/base/settings.py @@ -3733,7 +3733,6 @@ class SettingsSandbox: del self._event.settings[self._convert_key(key)] def get(self, key: str, default: Any = None, as_type: type = str, binary_file: bool = False): - print(self._convert_key(key)) return self._event.settings.get( self._convert_key(key), default=default, as_type=as_type, binary_file=binary_file ) diff --git a/src/pretix/presale/views/order.py b/src/pretix/presale/views/order.py index e418c830a..ab2fc1344 100644 --- a/src/pretix/presale/views/order.py +++ b/src/pretix/presale/views/order.py @@ -1013,8 +1013,6 @@ class OrderDownloadMixin: @cached_property def output(self): - if not self.order.positions_with_tickets: - return None responses = register_ticket_outputs.send(self.request.event) for receiver, response in responses: provider = response(self.request.event) @@ -1033,9 +1031,10 @@ class OrderDownloadMixin: return self.error(OrderError(_('You requested an invalid ticket output type.'))) if not self.order or ('position' in kwargs and not self.order_position): raise Http404(_('Unknown order code or not authorized to access this order.')) - if not self.order.ticket_download_available: + positions = list(self.order.positions_with_tickets) + if not self.order.ticket_download_available or not positions: return self.error(OrderError(_('Ticket download is not (yet) enabled for this order.'))) - if 'position' in kwargs and not self.order_position.generate_ticket: + if 'position' in kwargs and self.order_position not in positions: return self.error(OrderError(_('Ticket download is not enabled for this product.'))) if (