From 96bc64c456170da70d6b7b672e0b99c443faf785 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 27 Sep 2018 17:15:49 +0200 Subject: [PATCH] Do not break invoices if order has no locale --- src/pretix/api/serializers/order.py | 2 ++ src/pretix/base/services/invoices.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pretix/api/serializers/order.py b/src/pretix/api/serializers/order.py index 768a2985f..24cdca6bb 100644 --- a/src/pretix/api/serializers/order.py +++ b/src/pretix/api/serializers/order.py @@ -514,6 +514,8 @@ class OrderCreateSerializer(I18nAwareModelSerializer): if any(errs): raise ValidationError({'positions': errs}) + if validated_data.get('locale', None) is None: + validated_data['locale'] = self.context['event'].settings.locale order = Order(event=self.context['event'], **validated_data) order.set_expires(subevents=[p.get('subevent') for p in positions_data]) order.total = sum([p['price'] for p in positions_data]) + sum([f['value'] for f in fees_data], Decimal('0.00')) diff --git a/src/pretix/base/services/invoices.py b/src/pretix/base/services/invoices.py index 3429cbfea..93b2753b7 100644 --- a/src/pretix/base/services/invoices.py +++ b/src/pretix/base/services/invoices.py @@ -200,10 +200,10 @@ def regenerate_invoice(invoice: Invoice): def generate_invoice(order: Order, trigger_pdf=True): - locale = order.event.settings.get('invoice_language') + locale = order.event.settings.get('invoice_language', order.event.settings.locale) if locale: if locale == '__user__': - locale = order.locale + locale = order.locale or order.event.settings.locale invoice = Invoice( order=order,