Enabled asynchronous cart/order actions

This commit is contained in:
Raphael Michel
2015-10-04 19:54:17 +02:00
parent 4c6b292968
commit c4638a3402
28 changed files with 572 additions and 196 deletions

View File

@@ -181,7 +181,6 @@ class Paypal(BasePaymentProvider):
try:
mark_order_paid(order, '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

View File

@@ -23,9 +23,10 @@ def success(request):
request.session['payment_paypal_payer'] = payer
try:
event = Event.objects.current.get(identity=request.session['payment_paypal_event'])
return redirect('presale:event.checkout.confirm',
return redirect('presale:event.checkout',
event=event.slug,
organizer=event.organizer.slug)
organizer=event.organizer.slug,
step='confirm')
except Event.DoesNotExist:
pass # TODO: Handle this
else:
@@ -37,9 +38,10 @@ def abort(request):
messages.error(request, _('It looks like you cancelled the PayPal payment'))
try:
event = Event.objects.current.get(identity=request.session['payment_paypal_event'])
return redirect('presale:event.checkout.payment',
return redirect('presale:event.checkout',
event=event.slug,
organizer=event.organizer.slug)
organizer=event.organizer.slug,
step='payment')
except Event.DoesNotExist:
pass # TODO: Handle this
@@ -104,4 +106,5 @@ def retry(request, order):
return redirect('presale:event.order',
event=order.event.slug,
organizer=order.event.organizer.slug,
order=order.code)
order=order.code,
secret=order.secret) + '?paid=yes'

View File

@@ -116,7 +116,6 @@ class Stripe(BasePaymentProvider):
if charge.status == 'succeeded' and charge.paid:
try:
mark_order_paid(order, 'stripe', str(charge))
messages.success(request, _('We successfully received your payment. Thank you!'))
except Quota.QuotaExceededException as e:
messages.error(request, str(e))
else:

View File

@@ -20,7 +20,7 @@ def html_head_presale(sender, request=None, **kwargs):
provider = Stripe(sender)
url = resolve(request.path_info)
if provider.is_enabled and ("checkout.payment" in url.url_name or "order.pay" in url.url_name):
if provider.is_enabled and ("checkout" in url.url_name or "order.pay" in url.url_name):
template = get_template('pretixplugins/stripe/presale_head.html')
ctx = Context({'event': sender, 'settings': provider.settings})
return template.render(ctx)