diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index 1c08122067..080196924b 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -901,6 +901,9 @@ class OrderPayment(models.Model): from pretix.base.signals import order_paid can_be_paid = self.order._can_be_paid(count_waitinglist=count_waitinglist) if not force and can_be_paid is not True: + self.order.log_action('pretix.event.order.quotaexceeded', { + 'message': can_be_paid + }, user=user, auth=auth) raise Quota.QuotaExceededException(can_be_paid) self.order.status = Order.STATUS_PAID self.order.save(update_fields=['status']) diff --git a/src/pretix/control/logdisplay.py b/src/pretix/control/logdisplay.py index 4a496033ac..b1d58f2765 100644 --- a/src/pretix/control/logdisplay.py +++ b/src/pretix/control/logdisplay.py @@ -199,6 +199,7 @@ def pretixcontrol_logentry_display(sender: Event, logentry: LogEntry, **kwargs): 'pretix.event.order.payment.canceled': _('Payment {local_id} has been canceled.'), 'pretix.event.order.payment.started': _('Payment {local_id} has been started.'), 'pretix.event.order.payment.failed': _('Payment {local_id} has failed.'), + 'pretix.event.order.quotaexceeded': _('The order could not be marked as paid: {message}'), 'pretix.event.order.refund.created': _('Refund {local_id} has been created.'), 'pretix.event.order.refund.created.externally': _('Refund {local_id} has been created by an external entity.'), 'pretix.event.order.refund.done': _('Refund {local_id} has been completed.'),