diff --git a/src/pretix/base/services/orders.py b/src/pretix/base/services/orders.py index 60f11d1d9..998d09c90 100644 --- a/src/pretix/base/services/orders.py +++ b/src/pretix/base/services/orders.py @@ -248,6 +248,15 @@ def reactivate_order(order: Order, force: bool=False, user: User=None, auth=None for gc in position.issued_gift_cards.all(): gc = GiftCard.objects.select_for_update(of=OF_SELF).get(pk=gc.pk) gc.transactions.create(value=position.price, order=order, acceptor=order.event.organizer) + gc.log_action( + action='pretix.giftcards.transaction.manual', + user=user, + auth=auth, + data={ + 'value': position.price, + 'acceptor_id': order.event.organizer.id + } + ) break for m in position.granted_memberships.all(): @@ -558,6 +567,14 @@ def _cancel_order(order, user=None, send_mail: bool=True, api_token=None, device ) else: gc.transactions.create(value=-position.price, order=order, acceptor=order.event.organizer) + gc.log_action( + action='pretix.giftcards.transaction.manual', + user=user, + data={ + 'value': -position.price, + 'acceptor_id': order.event.organizer.id, + } + ) for m in position.granted_memberships.all(): m.canceled = True @@ -2461,6 +2478,15 @@ class OrderChangeManager: )) else: gc.transactions.create(value=-position.price, order=self.order, acceptor=self.order.event.organizer) + gc.log_action( + action='pretix.giftcards.transaction.manual', + user=self.user, + auth=self.auth, + data={ + 'value': -position.price, + 'acceptor_id': order.event.organizer.id + } + ) for m in position.granted_memberships.with_usages().all(): m.canceled = True @@ -2478,6 +2504,15 @@ class OrderChangeManager: )) else: gc.transactions.create(value=-opa.position.price, order=self.order, acceptor=self.order.event.organizer) + gc.log_action( + action='pretix.giftcards.transaction.manual', + user=self.user, + auth=self.auth, + data={ + 'value': -opa.position.price, + 'acceptor_id': order.event.organizer.id + } + ) for m in opa.granted_memberships.with_usages().all(): m.canceled = True @@ -3417,7 +3452,20 @@ def signal_listener_issue_giftcards(sender: Event, order: Order, **kwargs): currency=sender.currency, issued_in=p, testmode=order.testmode, expires=sender.organizer.default_gift_card_expiry, ) - gc.transactions.create(value=p.price - issued, order=order, acceptor=sender.organizer) + gc.log_action( + action='pretix.giftcards.created', + user=self.request.user, + auth=self.request.auth, + ) + trans = gc.transactions.create(value=p.price - issued, order=order, acceptor=sender.organizer) + gc.log_action( + action='pretix.giftcards.transaction.manual', + user=user, + data={ + 'value': trans.value, + 'acceptor_id': order.event.organizer.id, + } + ) any_giftcards = True p.secret = gc.secret p.save(update_fields=['secret'])