From aca963d960f71f63c20da38ac22e6b78bc048e83 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 2 Jul 2020 19:24:18 +0200 Subject: [PATCH] Fix tax rate changes if there hasn't been a tax rate before --- src/pretix/base/services/orders.py | 4 ++-- src/pretix/control/logdisplay.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pretix/base/services/orders.py b/src/pretix/base/services/orders.py index 3314eea55..017c3ce0a 100644 --- a/src/pretix/base/services/orders.py +++ b/src/pretix/base/services/orders.py @@ -1605,14 +1605,14 @@ class OrderChangeManager: 'position': op.position.pk, 'positionid': op.position.positionid, 'addon_to': op.position.addon_to_id, - 'old_taxrule': op.position.tax_rule.pk, + 'old_taxrule': op.position.tax_rule.pk if op.position.tax_rate else None, 'new_taxrule': op.tax_rule.pk }) elif isinstance(op.position, OrderFee): self.order.log_action('pretix.event.order.changed.tax_rule', user=self.user, auth=self.auth, data={ 'fee': op.position.pk, 'fee_type': op.position.fee_type, - 'old_taxrule': op.position.tax_rule.pk, + 'old_taxrule': op.position.tax_rule.pk if op.position.tax_rate else None, 'new_taxrule': op.tax_rule.pk }) op.position._calculate_tax(op.tax_rule) diff --git a/src/pretix/control/logdisplay.py b/src/pretix/control/logdisplay.py index 4aec735c1..52638e43a 100644 --- a/src/pretix/control/logdisplay.py +++ b/src/pretix/control/logdisplay.py @@ -71,14 +71,14 @@ def _display_order_changed(event: Event, logentry: LogEntry): return text + ' ' + _('Tax rule of position #{posid} changed from {old_rule} ' 'to {new_rule}.').format( posid=data.get('positionid', '?'), - old_rule=TaxRule.objects.get(pk=data['old_taxrule']), + old_rule=TaxRule.objects.get(pk=data['old_taxrule']) if data['old_taxrule'] else '–', new_rule=TaxRule.objects.get(pk=data['new_taxrule']), ) elif 'fee' in data: return text + ' ' + _('Tax rule of fee #{fee} changed from {old_rule} ' 'to {new_rule}.').format( fee=data.get('fee', '?'), - old_rule=TaxRule.objects.get(pk=data['old_taxrule']), + old_rule=TaxRule.objects.get(pk=data['old_taxrule']) if data['old_taxrule'] else '–', new_rule=TaxRule.objects.get(pk=data['new_taxrule']), ) elif logentry.action_type == 'pretix.event.order.changed.addfee':