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':