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,