mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Actually issue giftcards
This commit is contained in:
@@ -44,8 +44,8 @@ from pretix.base.services.pricing import get_price
|
||||
from pretix.base.services.tasks import ProfiledEventTask, ProfiledTask
|
||||
from pretix.base.signals import (
|
||||
allow_ticket_download, order_approved, order_canceled, order_changed,
|
||||
order_denied, order_expired, order_fee_calculation, order_placed,
|
||||
order_split, periodic_task, validate_order,
|
||||
order_denied, order_expired, order_fee_calculation, order_paid,
|
||||
order_placed, order_split, periodic_task, validate_order,
|
||||
)
|
||||
from pretix.celery_app import app
|
||||
from pretix.helpers.models import modelcopy
|
||||
@@ -1627,6 +1627,7 @@ def change_payment_provider(order: Order, payment_provider, amount=None, new_pay
|
||||
|
||||
order.total = (order.positions.aggregate(sum=Sum('price'))['sum'] or 0) + (order.fees.aggregate(sum=Sum('value'))['sum'] or 0)
|
||||
order.save(update_fields=['total'])
|
||||
<<<<<<< HEAD
|
||||
|
||||
if not new_payment:
|
||||
new_payment = order.payments.create(
|
||||
@@ -1654,3 +1655,17 @@ def change_payment_provider(order: Order, payment_provider, amount=None, new_pay
|
||||
generate_invoice(order)
|
||||
|
||||
return old_fee, new_fee, fee, new_payment
|
||||
=======
|
||||
return old_fee, new_fee, fee
|
||||
|
||||
|
||||
@receiver(order_paid, dispatch_uid="pretixbase_order_paid_giftcards")
|
||||
@transaction.atomic()
|
||||
def signal_listener_issue_giftcards(sender: Event, order: Order, **kwargs):
|
||||
for p in order.positions.all():
|
||||
if p.item.issue_giftcard:
|
||||
gc = sender.organizer.issued_gift_cards.create(
|
||||
currency=sender.currency, issued_in=p
|
||||
)
|
||||
gc.transactions.create(value=p.price, order=order)
|
||||
>>>>>>> 1c09d226e... Actually issue giftcards
|
||||
|
||||
1667
src/pretix/base/services/orders.py___jb_tmp___
Normal file
1667
src/pretix/base/services/orders.py___jb_tmp___
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user