Added signals for order creation and payment

This commit is contained in:
Raphael Michel
2015-08-15 14:30:13 +02:00
parent 8cbaa15bf6
commit b648d161d6
2 changed files with 19 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ from django.utils.translation import ugettext_lazy as _
from pretix.base.models import Order, OrderPosition, Quota
from pretix.base.services.mail import mail
from pretix.base.signals import order_paid, order_placed
from pretix.helpers.urls import build_absolute_uri
@@ -37,6 +38,7 @@ def mark_order_paid(order, provider=None, info=None, date=None, manual=None, for
order.payment_manual = manual
order.status = Order.STATUS_PAID
order.save()
order_paid.send(order.event, order=order)
if quotas_locked:
for quota in quotas_locked:
@@ -179,4 +181,5 @@ def place_order(event, user, positions, dt, payment_provider):
payment_provider=payment_provider.identifier,
)
OrderPosition.transform_cart_positions(positions, order)
order_placed.send(event, order=order)
return order

View File

@@ -77,3 +77,19 @@ subclass of pretix.base.exporter.BaseExporter
register_data_exporters = EventPluginSignal(
providing_args=[]
)
"""
This signal is sent out every time an order is placed. The order object is given
as the first argument.
"""
order_placed = EventPluginSignal(
providing_args=["order"]
)
"""
This signal is sent out every time an order is paid. The order object is given
as the first argument.
"""
order_paid = EventPluginSignal(
providing_args=["order"]
)