mirror of
https://github.com/pretix/pretix.git
synced 2026-09-13 16:14:40 +00:00
Order creation API: Fire pretix.event.order.paid signal
This commit is contained in:
@@ -608,9 +608,22 @@ class OrderViewSet(viewsets.ModelViewSet):
|
|||||||
)
|
)
|
||||||
|
|
||||||
with language(order.locale, self.request.event.settings.region):
|
with language(order.locale, self.request.event.settings.region):
|
||||||
|
payment = order.payments.last()
|
||||||
|
|
||||||
order_placed.send(self.request.event, order=order)
|
order_placed.send(self.request.event, order=order)
|
||||||
if order.status == Order.STATUS_PAID:
|
if order.status == Order.STATUS_PAID:
|
||||||
order_paid.send(self.request.event, order=order)
|
order_paid.send(self.request.event, order=order)
|
||||||
|
order.log_action(
|
||||||
|
'pretix.event.order.paid',
|
||||||
|
{
|
||||||
|
'provider': payment.provider if payment else None,
|
||||||
|
'info': {},
|
||||||
|
'date': now().isoformat(),
|
||||||
|
'force': False
|
||||||
|
},
|
||||||
|
user=request.user if request.user.is_authenticated else None,
|
||||||
|
auth=request.auth,
|
||||||
|
)
|
||||||
|
|
||||||
gen_invoice = invoice_qualified(order) and (
|
gen_invoice = invoice_qualified(order) and (
|
||||||
(order.event.settings.get('invoice_generate') == 'True') or
|
(order.event.settings.get('invoice_generate') == 'True') or
|
||||||
@@ -621,7 +634,6 @@ class OrderViewSet(viewsets.ModelViewSet):
|
|||||||
invoice = generate_invoice(order, trigger_pdf=True)
|
invoice = generate_invoice(order, trigger_pdf=True)
|
||||||
|
|
||||||
if send_mail:
|
if send_mail:
|
||||||
payment = order.payments.last()
|
|
||||||
free_flow = (
|
free_flow = (
|
||||||
payment and order.total == Decimal('0.00') and order.status == Order.STATUS_PAID and
|
payment and order.total == Decimal('0.00') and order.status == Order.STATUS_PAID and
|
||||||
not order.require_approval and payment.provider == "free"
|
not order.require_approval and payment.provider == "free"
|
||||||
|
|||||||
@@ -3133,6 +3133,7 @@ def test_order_create_free(token_client, organizer, event, item, quota, question
|
|||||||
assert p.provider == "free"
|
assert p.provider == "free"
|
||||||
assert p.amount == o.total
|
assert p.amount == o.total
|
||||||
assert p.state == "confirmed"
|
assert p.state == "confirmed"
|
||||||
|
assert o.all_logentries().count() == 2
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
|
|||||||
Reference in New Issue
Block a user