From 876ddf1321bf42dbd54a68af7ee83852a70b8035 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 27 Feb 2026 15:22:50 +0100 Subject: [PATCH] Add a log entry on manual VAT ID validation (Z#23223874) (#5939) --- src/pretix/control/logdisplay.py | 1 + src/pretix/control/views/orders.py | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/pretix/control/logdisplay.py b/src/pretix/control/logdisplay.py index c12b866d0e..2e22dd9fcc 100644 --- a/src/pretix/control/logdisplay.py +++ b/src/pretix/control/logdisplay.py @@ -518,6 +518,7 @@ def pretixcontrol_orderposition_blocked_display(sender: Event, orderposition, bl 'The order requires approval before it can continue to be processed.'), 'pretix.event.order.approved': _('The order has been approved.'), 'pretix.event.order.denied': _('The order has been denied (comment: "{comment}").'), + 'pretix.event.order.vatid.validated': _('The customer VAT ID has been verified.'), 'pretix.event.order.contact.changed': _('The email address has been changed from "{old_email}" ' 'to "{new_email}".'), 'pretix.event.order.contact.confirmed': _( diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index 5b5ae7b092..9806b28103 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -1641,9 +1641,17 @@ class OrderCheckVATID(OrderView): try: normalized_id = validate_vat_id(ia.vat_id, str(ia.country)) - ia.vat_id_validated = True - ia.vat_id = normalized_id - ia.save() + with transaction.atomic(): + ia.vat_id_validated = True + ia.vat_id = normalized_id + ia.save() + self.order.log_action( + 'pretix.event.order.vatid.validated', + data={ + 'vat_id': normalized_id, + }, + user=self.request.user, + ) except VATIDFinalError as e: messages.error(self.request, e.message) except VATIDTemporaryError: