New handling of plugin URLs (#609)

This commit is contained in:
Raphael Michel
2017-08-29 10:01:50 +03:00
committed by GitHub
parent 557a05135e
commit 43b5140754
13 changed files with 83 additions and 37 deletions

View File

@@ -1,12 +1,14 @@
from django.conf.urls import include, url
from .views import abort, event_webbook, refund, success, webhook
from pretix.multidomain import event_url
from .views import abort, refund, success, webhook
event_patterns = [
url(r'^paypal/', include([
url(r'^abort/$', abort, name='abort'),
url(r'^return/$', success, name='return'),
url(r'^webhook/$', event_webbook, name='webhook'),
event_url(r'^webhook/$', webhook, name='webhook', require_live=False),
])),
]

View File

@@ -55,7 +55,6 @@ def success(request, *args, **kwargs):
return redirect(eventreverse(request.event, 'presale:event.checkout', kwargs={'step': 'confirm'}))
@event_view(require_live=False)
def abort(request, *args, **kwargs):
messages.error(request, _('It looks like you canceled the PayPal payment'))
@@ -151,9 +150,6 @@ def webhook(request, *args, **kwargs):
return HttpResponse(status=200)
event_webbook = csrf_exempt(event_view(require_live=False)(webhook))
@event_permission_required('can_view_orders')
@require_POST
def refund(request, **kwargs):

View File

@@ -1,10 +1,12 @@
from django.conf.urls import include, url
from .views import ReturnView, event_webbook, refund, webhook
from pretix.multidomain import event_url
from .views import ReturnView, refund, webhook
event_patterns = [
url(r'^stripe/', include([
url(r'^webhook/$', event_webbook, name='webhook'),
event_url(r'^webhook/$', webhook, name='webhook', require_live=False),
url(r'^return/(?P<order>[^/]+)/(?P<hash>[^/]+)/$', ReturnView.as_view(), name='return'),
])),
]

View File

@@ -8,7 +8,6 @@ from django.db import transaction
from django.http import Http404, HttpResponse
from django.shortcuts import get_object_or_404, redirect
from django.urls import reverse
from django.utils.decorators import method_decorator
from django.utils.functional import cached_property
from django.utils.translation import ugettext_lazy as _
from django.views import View
@@ -22,7 +21,6 @@ from pretix.control.permissions import event_permission_required
from pretix.multidomain.urlreverse import eventreverse
from pretix.plugins.stripe.models import ReferencedStripeObject
from pretix.plugins.stripe.payment import StripeCC
from pretix.presale.utils import event_view
logger = logging.getLogger('pretix.plugins.stripe')
@@ -59,9 +57,6 @@ def webhook(request, *args, **kwargs):
return HttpResponse("Unable to detect event", status=200)
event_webbook = csrf_exempt(event_view(require_live=False)(webhook))
def charge_webhook(event, event_json, charge_id):
prov = StripeCC(event)
prov._init_api()
@@ -198,7 +193,6 @@ class StripeOrderView:
return self.request.event.get_payment_providers()[self.order.payment_provider]
@method_decorator(event_view, name='dispatch')
class ReturnView(StripeOrderView, View):
def get(self, request, *args, **kwargs):
prov = self.pprov