From 80ed6e76cd78e4dfc92aedcf7fd87d4d6e4f2a4d Mon Sep 17 00:00:00 2001 From: luelista Date: Tue, 12 May 2026 11:57:18 +0200 Subject: [PATCH] Fix failing orderlist export if orders with invalid payment provider identifiers exist (Z#23233440) (#6159) * Fix orderlist export if orders with invalid payment provider identifiers exist (Z#23233440) * Performance: Move _get_all_payment_methods out of loop --- src/pretix/base/exporters/orderlist.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pretix/base/exporters/orderlist.py b/src/pretix/base/exporters/orderlist.py index 258f0c472e..7e401e17c8 100644 --- a/src/pretix/base/exporters/orderlist.py +++ b/src/pretix/base/exporters/orderlist.py @@ -160,7 +160,7 @@ class OrderListExporter(MultiSheetListExporter): def _get_all_payment_methods(self, qs): pps = dict(get_all_payment_providers()) - return sorted([(pp, pps[pp]) for pp in set( + return sorted([(pp, pps.get(pp, pp)) for pp in set( OrderPayment.objects.exclude(provider='free').filter(order__event__in=self.events).values_list( 'provider', flat=True ).distinct() @@ -330,6 +330,7 @@ class OrderListExporter(MultiSheetListExporter): taxsum=Sum('tax_value'), grosssum=Sum('value') ) } + payment_methods = None if form_data.get('include_payment_amounts'): payment_sum_cache = { (o['order__id'], o['provider']): o['grosssum'] for o in @@ -347,6 +348,7 @@ class OrderListExporter(MultiSheetListExporter): grosssum=Sum('amount') ) } + payment_methods = self._get_all_payment_methods(qs) sum_cache = { (o['order__id'], o['tax_rate']): o for o in OrderPosition.objects.values('tax_rate', 'order__id').order_by().annotate( @@ -434,7 +436,6 @@ class OrderListExporter(MultiSheetListExporter): ) if form_data.get('include_payment_amounts'): - payment_methods = self._get_all_payment_methods(qs) for id, vn in payment_methods: row.append( payment_sum_cache.get((order.id, id), Decimal('0.00')) -