Properly implement quota handling when receiving payments (closes #11)

This commit is contained in:
Raphael Michel
2015-04-14 16:20:05 +02:00
parent 2f7ab1957a
commit df524f31d5
10 changed files with 194 additions and 19 deletions

View File

@@ -9,6 +9,7 @@ from django.utils.translation import ugettext as __
from django import forms
import paypalrestsdk
from pretix.base.models import Quota
from pretix.base.payment import BasePaymentProvider
@@ -175,8 +176,11 @@ class Paypal(BasePaymentProvider):
logger.error('Invalid state: %s' % str(payment))
return
order.mark_paid('paypal', json.dumps(payment.to_dict()))
messages.success(request, _('We successfully received your payment. Thank you!'))
try:
order.mark_paid('paypal', json.dumps(payment.to_dict()))
messages.success(request, _('We successfully received your payment. Thank you!'))
except Quota.QuotaExceededException as e:
messages.error(request, str(e))
return None
def order_pending_render(self, request, order) -> str: