forked from CGM_Public/pretix_original
Do not break invoices if order has no locale
This commit is contained in:
@@ -514,6 +514,8 @@ class OrderCreateSerializer(I18nAwareModelSerializer):
|
|||||||
if any(errs):
|
if any(errs):
|
||||||
raise ValidationError({'positions': 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 = Order(event=self.context['event'], **validated_data)
|
||||||
order.set_expires(subevents=[p.get('subevent') for p in positions_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'))
|
order.total = sum([p['price'] for p in positions_data]) + sum([f['value'] for f in fees_data], Decimal('0.00'))
|
||||||
|
|||||||
@@ -200,10 +200,10 @@ def regenerate_invoice(invoice: Invoice):
|
|||||||
|
|
||||||
|
|
||||||
def generate_invoice(order: Order, trigger_pdf=True):
|
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:
|
||||||
if locale == '__user__':
|
if locale == '__user__':
|
||||||
locale = order.locale
|
locale = order.locale or order.event.settings.locale
|
||||||
|
|
||||||
invoice = Invoice(
|
invoice = Invoice(
|
||||||
order=order,
|
order=order,
|
||||||
|
|||||||
Reference in New Issue
Block a user