mirror of
https://github.com/pretix/pretix.git
synced 2026-08-29 13:44:40 +00:00
Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e3370fa89 | ||
|
|
9232f9e9fe | ||
|
|
c3ac143388 | ||
|
|
7e61dbaefb | ||
|
|
aee76b094d | ||
|
|
ad78934ad2 | ||
|
|
b5ba8c7304 | ||
|
|
3aefd9f95e | ||
|
|
98a54c6d21 | ||
|
|
77d8a587fe |
@@ -60,6 +60,9 @@ The following values for ``action_types`` are valid with pretix core:
|
|||||||
* ``pretix.event.added``
|
* ``pretix.event.added``
|
||||||
* ``pretix.event.changed``
|
* ``pretix.event.changed``
|
||||||
* ``pretix.event.deleted``
|
* ``pretix.event.deleted``
|
||||||
|
* ``pretix.giftcards.created``
|
||||||
|
* ``pretix.giftcards.modified``
|
||||||
|
* ``pretix.giftcards.transaction.*``
|
||||||
* ``pretix.voucher.added``
|
* ``pretix.voucher.added``
|
||||||
* ``pretix.voucher.changed``
|
* ``pretix.voucher.changed``
|
||||||
* ``pretix.voucher.deleted``
|
* ``pretix.voucher.deleted``
|
||||||
|
|||||||
@@ -249,12 +249,17 @@ class GiftCardViewSet(viewsets.ModelViewSet):
|
|||||||
def perform_create(self, serializer):
|
def perform_create(self, serializer):
|
||||||
value = serializer.validated_data.pop('value')
|
value = serializer.validated_data.pop('value')
|
||||||
inst = serializer.save(issuer=self.request.organizer)
|
inst = serializer.save(issuer=self.request.organizer)
|
||||||
inst.transactions.create(value=value, acceptor=self.request.organizer)
|
|
||||||
inst.log_action(
|
inst.log_action(
|
||||||
'pretix.giftcards.transaction.manual',
|
action='pretix.giftcards.created',
|
||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
auth=self.request.auth,
|
auth=self.request.auth,
|
||||||
data=merge_dicts(self.request.data, {'id': inst.pk})
|
)
|
||||||
|
inst.transactions.create(value=value, acceptor=self.request.organizer)
|
||||||
|
inst.log_action(
|
||||||
|
action='pretix.giftcards.transaction.manual',
|
||||||
|
user=self.request.user,
|
||||||
|
auth=self.request.auth,
|
||||||
|
data=merge_dicts(self.request.data, {'id': inst.pk, 'acceptor_id': self.request.organizer.id})
|
||||||
)
|
)
|
||||||
|
|
||||||
@transaction.atomic()
|
@transaction.atomic()
|
||||||
@@ -269,7 +274,7 @@ class GiftCardViewSet(viewsets.ModelViewSet):
|
|||||||
inst = serializer.save(secret=serializer.instance.secret, currency=serializer.instance.currency,
|
inst = serializer.save(secret=serializer.instance.secret, currency=serializer.instance.currency,
|
||||||
testmode=serializer.instance.testmode)
|
testmode=serializer.instance.testmode)
|
||||||
inst.log_action(
|
inst.log_action(
|
||||||
'pretix.giftcards.modified',
|
action='pretix.giftcards.modified',
|
||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
auth=self.request.auth,
|
auth=self.request.auth,
|
||||||
data=self.request.data,
|
data=self.request.data,
|
||||||
@@ -282,10 +287,10 @@ class GiftCardViewSet(viewsets.ModelViewSet):
|
|||||||
diff = value - old_value
|
diff = value - old_value
|
||||||
inst.transactions.create(value=diff, acceptor=self.request.organizer)
|
inst.transactions.create(value=diff, acceptor=self.request.organizer)
|
||||||
inst.log_action(
|
inst.log_action(
|
||||||
'pretix.giftcards.transaction.manual',
|
action='pretix.giftcards.transaction.manual',
|
||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
auth=self.request.auth,
|
auth=self.request.auth,
|
||||||
data={'value': diff}
|
data={'value': diff, 'acceptor_id': self.request.organizer.id}
|
||||||
)
|
)
|
||||||
|
|
||||||
return inst
|
return inst
|
||||||
@@ -309,10 +314,14 @@ class GiftCardViewSet(viewsets.ModelViewSet):
|
|||||||
}, status=status.HTTP_409_CONFLICT)
|
}, status=status.HTTP_409_CONFLICT)
|
||||||
gc.transactions.create(value=value, text=text, info=info, acceptor=self.request.organizer)
|
gc.transactions.create(value=value, text=text, info=info, acceptor=self.request.organizer)
|
||||||
gc.log_action(
|
gc.log_action(
|
||||||
'pretix.giftcards.transaction.manual',
|
action='pretix.giftcards.transaction.manual',
|
||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
auth=self.request.auth,
|
auth=self.request.auth,
|
||||||
data={'value': value, 'text': text}
|
data={
|
||||||
|
'value': value,
|
||||||
|
'text': text,
|
||||||
|
'acceptor_id': self.request.organizer.id
|
||||||
|
}
|
||||||
)
|
)
|
||||||
return Response(GiftCardSerializer(gc, context=self.get_serializer_context()).data, status=status.HTTP_200_OK)
|
return Response(GiftCardSerializer(gc, context=self.get_serializer_context()).data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|||||||
@@ -174,6 +174,35 @@ class ParametrizedEventWebhookEvent(ParametrizedWebhookEvent):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class ParametrizedGiftcardWebhookEvent(ParametrizedWebhookEvent):
|
||||||
|
def build_payload(self, logentry: LogEntry):
|
||||||
|
giftcard = logentry.content_object
|
||||||
|
if not giftcard:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return {
|
||||||
|
'notification_id': logentry.pk,
|
||||||
|
'issuer_id': logentry.organizer_id,
|
||||||
|
'giftcard': giftcard.pk,
|
||||||
|
'action': logentry.action_type,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class ParametrizedGiftcardTransactionWebhookEvent(ParametrizedWebhookEvent):
|
||||||
|
def build_payload(self, logentry: LogEntry):
|
||||||
|
giftcard = logentry.content_object
|
||||||
|
if not giftcard:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return {
|
||||||
|
'notification_id': logentry.pk,
|
||||||
|
'issuer_id': logentry.organizer_id,
|
||||||
|
'acceptor_id': logentry.parsed_data.get('acceptor_id'),
|
||||||
|
'giftcard': giftcard.pk,
|
||||||
|
'action': logentry.action_type,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class ParametrizedVoucherWebhookEvent(ParametrizedWebhookEvent):
|
class ParametrizedVoucherWebhookEvent(ParametrizedWebhookEvent):
|
||||||
|
|
||||||
def build_payload(self, logentry: LogEntry):
|
def build_payload(self, logentry: LogEntry):
|
||||||
@@ -433,6 +462,18 @@ def register_default_webhook_events(sender, **kwargs):
|
|||||||
'pretix.customer.anonymized',
|
'pretix.customer.anonymized',
|
||||||
_('Customer account anonymized'),
|
_('Customer account anonymized'),
|
||||||
),
|
),
|
||||||
|
ParametrizedGiftcardWebhookEvent(
|
||||||
|
'pretix.giftcards.created',
|
||||||
|
_('Gift card added'),
|
||||||
|
),
|
||||||
|
ParametrizedGiftcardWebhookEvent(
|
||||||
|
'pretix.giftcards.modified',
|
||||||
|
_('Gift card modified'),
|
||||||
|
),
|
||||||
|
ParametrizedGiftcardTransactionWebhookEvent(
|
||||||
|
'pretix.giftcards.transaction.*',
|
||||||
|
_('Gift card used in transcation'),
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -130,6 +130,8 @@ class LoggingMixin:
|
|||||||
organizer_id = self.event.organizer_id
|
organizer_id = self.event.organizer_id
|
||||||
elif hasattr(self, 'organizer_id'):
|
elif hasattr(self, 'organizer_id'):
|
||||||
organizer_id = self.organizer_id
|
organizer_id = self.organizer_id
|
||||||
|
elif hasattr(self, 'issuer_id'):
|
||||||
|
organizer_id = self.issuer_id
|
||||||
|
|
||||||
if user and not user.is_authenticated:
|
if user and not user.is_authenticated:
|
||||||
user = None
|
user = None
|
||||||
|
|||||||
@@ -1646,6 +1646,13 @@ class GiftCardPayment(BasePaymentProvider):
|
|||||||
'transaction_id': trans.pk,
|
'transaction_id': trans.pk,
|
||||||
}
|
}
|
||||||
payment.confirm(send_mail=not is_early_special_case, generate_invoice=not is_early_special_case)
|
payment.confirm(send_mail=not is_early_special_case, generate_invoice=not is_early_special_case)
|
||||||
|
gc.log_action(
|
||||||
|
action='pretix.giftcards.transaction.payment',
|
||||||
|
data={
|
||||||
|
'value': trans.value,
|
||||||
|
'acceptor_id': self.event.organizer.id
|
||||||
|
}
|
||||||
|
)
|
||||||
except PaymentException as e:
|
except PaymentException as e:
|
||||||
payment.fail(info={'error': str(e)})
|
payment.fail(info={'error': str(e)})
|
||||||
raise e
|
raise e
|
||||||
@@ -1670,6 +1677,14 @@ class GiftCardPayment(BasePaymentProvider):
|
|||||||
'transaction_id': trans.pk,
|
'transaction_id': trans.pk,
|
||||||
}
|
}
|
||||||
refund.done()
|
refund.done()
|
||||||
|
gc.log_action(
|
||||||
|
action='pretix.giftcards.transaction.refund',
|
||||||
|
data={
|
||||||
|
'value': refund.amount,
|
||||||
|
'acceptor_id': self.event.organizer.id,
|
||||||
|
'text': refund.comment,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@receiver(register_payment_providers, dispatch_uid="payment_free")
|
@receiver(register_payment_providers, dispatch_uid="payment_free")
|
||||||
|
|||||||
@@ -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():
|
for gc in position.issued_gift_cards.all():
|
||||||
gc = GiftCard.objects.select_for_update(of=OF_SELF).get(pk=gc.pk)
|
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.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
|
break
|
||||||
|
|
||||||
for m in position.granted_memberships.all():
|
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:
|
else:
|
||||||
gc.transactions.create(value=-position.price, order=order, acceptor=order.event.organizer)
|
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():
|
for m in position.granted_memberships.all():
|
||||||
m.canceled = True
|
m.canceled = True
|
||||||
@@ -2461,6 +2478,15 @@ class OrderChangeManager:
|
|||||||
))
|
))
|
||||||
else:
|
else:
|
||||||
gc.transactions.create(value=-position.price, order=self.order, acceptor=self.order.event.organizer)
|
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': self.order.event.organizer.id
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
for m in position.granted_memberships.with_usages().all():
|
for m in position.granted_memberships.with_usages().all():
|
||||||
m.canceled = True
|
m.canceled = True
|
||||||
@@ -2478,6 +2504,15 @@ class OrderChangeManager:
|
|||||||
))
|
))
|
||||||
else:
|
else:
|
||||||
gc.transactions.create(value=-opa.position.price, order=self.order, acceptor=self.order.event.organizer)
|
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': self.order.event.organizer.id
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
for m in opa.granted_memberships.with_usages().all():
|
for m in opa.granted_memberships.with_usages().all():
|
||||||
m.canceled = True
|
m.canceled = True
|
||||||
@@ -3131,7 +3166,10 @@ def _try_auto_refund(order, auto_refund=True, manual_refund=False, allow_partial
|
|||||||
customer=order.customer,
|
customer=order.customer,
|
||||||
testmode=order.testmode
|
testmode=order.testmode
|
||||||
)
|
)
|
||||||
giftcard.log_action('pretix.giftcards.created', data={})
|
giftcard.log_action(
|
||||||
|
action='pretix.giftcards.created',
|
||||||
|
data={}
|
||||||
|
)
|
||||||
r = order.refunds.create(
|
r = order.refunds.create(
|
||||||
order=order,
|
order=order,
|
||||||
payment=None,
|
payment=None,
|
||||||
@@ -3414,7 +3452,17 @@ def signal_listener_issue_giftcards(sender: Event, order: Order, **kwargs):
|
|||||||
currency=sender.currency, issued_in=p, testmode=order.testmode,
|
currency=sender.currency, issued_in=p, testmode=order.testmode,
|
||||||
expires=sender.organizer.default_gift_card_expiry,
|
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',
|
||||||
|
)
|
||||||
|
trans = gc.transactions.create(value=p.price - issued, order=order, acceptor=sender.organizer)
|
||||||
|
gc.log_action(
|
||||||
|
action='pretix.giftcards.transaction.manual',
|
||||||
|
data={
|
||||||
|
'value': trans.value,
|
||||||
|
'acceptor_id': order.event.organizer.id,
|
||||||
|
}
|
||||||
|
)
|
||||||
any_giftcards = True
|
any_giftcards = True
|
||||||
p.secret = gc.secret
|
p.secret = gc.secret
|
||||||
p.save(update_fields=['secret'])
|
p.save(update_fields=['secret'])
|
||||||
|
|||||||
@@ -793,6 +793,8 @@ class CoreUserImpersonatedLogEntryType(UserImpersonatedLogEntryType):
|
|||||||
'pretix.giftcards.created': _('The gift card has been created.'),
|
'pretix.giftcards.created': _('The gift card has been created.'),
|
||||||
'pretix.giftcards.modified': _('The gift card has been changed.'),
|
'pretix.giftcards.modified': _('The gift card has been changed.'),
|
||||||
'pretix.giftcards.transaction.manual': _('A manual transaction has been performed.'),
|
'pretix.giftcards.transaction.manual': _('A manual transaction has been performed.'),
|
||||||
|
'pretix.giftcards.transaction.payment': _('A payment has been performed.'),
|
||||||
|
'pretix.giftcards.transaction.refund': _('A refund has been performed. '),
|
||||||
'pretix.team.token.created': _('The token "{name}" has been created.'),
|
'pretix.team.token.created': _('The token "{name}" has been created.'),
|
||||||
'pretix.team.token.deleted': _('The token "{name}" has been revoked.'),
|
'pretix.team.token.deleted': _('The token "{name}" has been revoked.'),
|
||||||
'pretix.event.checkin.reset': _('The check-in and print log state has been reset.')
|
'pretix.event.checkin.reset': _('The check-in and print log state has been reset.')
|
||||||
|
|||||||
@@ -1230,7 +1230,11 @@ class OrderRefundView(OrderView):
|
|||||||
customer=order.customer,
|
customer=order.customer,
|
||||||
testmode=order.testmode
|
testmode=order.testmode
|
||||||
)
|
)
|
||||||
giftcard.log_action('pretix.giftcards.created', user=self.request.user, data={})
|
giftcard.log_action(
|
||||||
|
action='pretix.giftcards.created',
|
||||||
|
user=self.request.user,
|
||||||
|
data={}
|
||||||
|
)
|
||||||
refunds.append(OrderRefund(
|
refunds.append(OrderRefund(
|
||||||
order=order,
|
order=order,
|
||||||
payment=None,
|
payment=None,
|
||||||
|
|||||||
@@ -1669,9 +1669,12 @@ class GiftCardAcceptanceInviteView(OrganizerDetailViewMixin, OrganizerPermission
|
|||||||
active=False,
|
active=False,
|
||||||
)
|
)
|
||||||
self.request.organizer.log_action(
|
self.request.organizer.log_action(
|
||||||
'pretix.giftcards.acceptance.acceptor.invited',
|
action='pretix.giftcards.acceptance.acceptor.invited',
|
||||||
data={'acceptor': form.cleaned_data['acceptor'].slug,
|
data={
|
||||||
'reusable_media': form.cleaned_data['reusable_media']},
|
'acceptor': form.cleaned_data['acceptor'].slug,
|
||||||
|
'issuer': self.request.organizer.slug,
|
||||||
|
'reusable_media': form.cleaned_data['reusable_media']
|
||||||
|
},
|
||||||
user=self.request.user
|
user=self.request.user
|
||||||
)
|
)
|
||||||
messages.success(self.request, _('The selected organizer has been invited.'))
|
messages.success(self.request, _('The selected organizer has been invited.'))
|
||||||
@@ -1707,8 +1710,11 @@ class GiftCardAcceptanceListView(OrganizerDetailViewMixin, OrganizerPermissionRe
|
|||||||
).delete()
|
).delete()
|
||||||
if done:
|
if done:
|
||||||
self.request.organizer.log_action(
|
self.request.organizer.log_action(
|
||||||
'pretix.giftcards.acceptance.acceptor.removed',
|
action='pretix.giftcards.acceptance.acceptor.removed',
|
||||||
data={'acceptor': request.POST.get("delete_acceptor")},
|
data={
|
||||||
|
'acceptor': request.POST.get("delete_acceptor"),
|
||||||
|
'issuer': self.request.organizer.slug
|
||||||
|
},
|
||||||
user=request.user
|
user=request.user
|
||||||
)
|
)
|
||||||
messages.success(self.request, _('The selected connection has been removed.'))
|
messages.success(self.request, _('The selected connection has been removed.'))
|
||||||
@@ -1718,8 +1724,11 @@ class GiftCardAcceptanceListView(OrganizerDetailViewMixin, OrganizerPermissionRe
|
|||||||
).delete()
|
).delete()
|
||||||
if done:
|
if done:
|
||||||
self.request.organizer.log_action(
|
self.request.organizer.log_action(
|
||||||
'pretix.giftcards.acceptance.issuer.removed',
|
action='pretix.giftcards.acceptance.issuer.removed',
|
||||||
data={'issuer': request.POST.get("delete_acceptor")},
|
data={
|
||||||
|
'issuer': request.POST.get("delete_acceptor"),
|
||||||
|
'acceptor': self.request.organizer.slug
|
||||||
|
},
|
||||||
user=request.user
|
user=request.user
|
||||||
)
|
)
|
||||||
messages.success(self.request, _('The selected connection has been removed.'))
|
messages.success(self.request, _('The selected connection has been removed.'))
|
||||||
@@ -1729,8 +1738,11 @@ class GiftCardAcceptanceListView(OrganizerDetailViewMixin, OrganizerPermissionRe
|
|||||||
).update(active=True)
|
).update(active=True)
|
||||||
if done:
|
if done:
|
||||||
self.request.organizer.log_action(
|
self.request.organizer.log_action(
|
||||||
'pretix.giftcards.acceptance.issuer.accepted',
|
action='pretix.giftcards.acceptance.issuer.accepted',
|
||||||
data={'issuer': request.POST.get("accept_issuer")},
|
data={
|
||||||
|
'issuer': request.POST.get("accept_issuer"),
|
||||||
|
'acceptor': self.request.organizer.slug
|
||||||
|
},
|
||||||
user=request.user
|
user=request.user
|
||||||
)
|
)
|
||||||
messages.success(self.request, _('The selected connection has been accepted.'))
|
messages.success(self.request, _('The selected connection has been accepted.'))
|
||||||
@@ -1836,10 +1848,11 @@ class GiftCardDetailView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMi
|
|||||||
acceptor=request.organizer,
|
acceptor=request.organizer,
|
||||||
)
|
)
|
||||||
self.object.log_action(
|
self.object.log_action(
|
||||||
'pretix.giftcards.transaction.manual',
|
action='pretix.giftcards.transaction.manual',
|
||||||
data={
|
data={
|
||||||
'value': value,
|
'value': value,
|
||||||
'text': request.POST.get('text')
|
'text': request.POST.get('text'),
|
||||||
|
'acceptor_id': self.request.organizer.id
|
||||||
},
|
},
|
||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
)
|
)
|
||||||
@@ -1888,15 +1901,23 @@ class GiftCardCreateView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMi
|
|||||||
messages.success(self.request, _('The gift card has been created and can now be used.'))
|
messages.success(self.request, _('The gift card has been created and can now be used.'))
|
||||||
form.instance.issuer = self.request.organizer
|
form.instance.issuer = self.request.organizer
|
||||||
super().form_valid(form)
|
super().form_valid(form)
|
||||||
form.instance.transactions.create(
|
form.instance.log_action(
|
||||||
acceptor=self.request.organizer,
|
action='pretix.giftcards.created',
|
||||||
value=form.cleaned_data['value']
|
user=self.request.user,
|
||||||
)
|
)
|
||||||
form.instance.log_action('pretix.giftcards.created', user=self.request.user, data={})
|
|
||||||
if form.cleaned_data['value']:
|
if form.cleaned_data['value']:
|
||||||
form.instance.log_action('pretix.giftcards.transaction.manual', user=self.request.user, data={
|
form.instance.transactions.create(
|
||||||
'value': form.cleaned_data['value']
|
acceptor=self.request.organizer,
|
||||||
})
|
value=form.cleaned_data['value']
|
||||||
|
)
|
||||||
|
form.instance.log_action(
|
||||||
|
action='pretix.giftcards.transaction.manual',
|
||||||
|
user=self.request.user,
|
||||||
|
data={
|
||||||
|
'value': form.cleaned_data['value'],
|
||||||
|
'acceptor_id': self.request.organizer.id
|
||||||
|
}
|
||||||
|
)
|
||||||
return redirect(reverse(
|
return redirect(reverse(
|
||||||
'control:organizer.giftcard',
|
'control:organizer.giftcard',
|
||||||
kwargs={
|
kwargs={
|
||||||
@@ -1924,7 +1945,11 @@ class GiftCardUpdateView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMi
|
|||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
messages.success(self.request, _('The gift card has been changed.'))
|
messages.success(self.request, _('The gift card has been changed.'))
|
||||||
super().form_valid(form)
|
super().form_valid(form)
|
||||||
form.instance.log_action('pretix.giftcards.modified', user=self.request.user, data=dict(form.cleaned_data))
|
form.instance.log_action(
|
||||||
|
action='pretix.giftcards.modified',
|
||||||
|
user=self.request.user,
|
||||||
|
data=dict(form.cleaned_data)
|
||||||
|
)
|
||||||
return redirect(reverse(
|
return redirect(reverse(
|
||||||
'control:organizer.giftcard',
|
'control:organizer.giftcard',
|
||||||
kwargs={
|
kwargs={
|
||||||
|
|||||||
Reference in New Issue
Block a user