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

@@ -5,6 +5,7 @@ from django.contrib import messages
from django.template.loader import get_template
from django.utils.translation import ugettext_lazy as _
from django import forms
from pretix.base.models import Quota
import stripe
from pretix.base.payment import BasePaymentProvider
@@ -67,7 +68,11 @@ class Stripe(BasePaymentProvider):
)
logging.info(charge)
if charge.status == 'succeeded' and charge.paid:
order.mark_paid('stripe', str(charge))
try:
order.mark_paid('paypal', str(charge))
messages.success(request, _('We successfully received your payment. Thank you!'))
except Quota.QuotaExceededException as e:
messages.error(request, str(e))
messages.success(request, _('We successfully received your payment. Thank you!'))
else:
messages.warning(request, _('Stripe reported an error: %s' % charge.failure_message))