Prevent duplicate payment confirmation mails

This commit is contained in:
Raphael Michel
2017-01-22 17:46:56 +01:00
parent 04369ff4f1
commit 221526c979
3 changed files with 11 additions and 2 deletions

View File

@@ -8,7 +8,7 @@ from django.contrib import messages
from django.template.loader import get_template
from django.utils.translation import ugettext as __, ugettext_lazy as _
from pretix.base.models import Quota, RequiredAction
from pretix.base.models import Order, Quota, RequiredAction
from pretix.base.payment import BasePaymentProvider
from pretix.base.services.mail import SendMailException
from pretix.base.services.orders import mark_order_paid, mark_order_refunded
@@ -199,6 +199,10 @@ class Paypal(BasePaymentProvider):
logger.error('Invalid state: %s' % str(payment))
return
if order.status == Order.STATUS_PAID:
logger.warning('PayPal success event even though order is already marked as paid')
return
try:
mark_order_paid(order, 'paypal', json.dumps(payment.to_dict()))
except Quota.QuotaExceededException as e: