mirror of
https://github.com/pretix/pretix.git
synced 2026-05-26 18:43:59 +00:00
Replace redirect() with redirect_to_url() if we don't need Django's resolution
This commit is contained in:
@@ -42,7 +42,7 @@ from django.contrib import messages
|
||||
from django.core import signing
|
||||
from django.db.models import Sum
|
||||
from django.http import HttpResponse, HttpResponseBadRequest
|
||||
from django.shortcuts import redirect, render
|
||||
from django.shortcuts import render
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.decorators.clickjacking import xframe_options_exempt
|
||||
@@ -53,6 +53,7 @@ from django_scopes import scopes_disabled
|
||||
from pretix.base.models import Order, OrderPayment, OrderRefund, Quota
|
||||
from pretix.base.payment import PaymentException
|
||||
from pretix.control.permissions import event_permission_required
|
||||
from pretix.helpers.http import redirect_to_url
|
||||
from pretix.multidomain.urlreverse import eventreverse
|
||||
from pretix.plugins.paypal.models import ReferencedPayPalObject
|
||||
from pretix.plugins.paypal.payment import Paypal
|
||||
@@ -99,23 +100,23 @@ def success(request, *args, **kwargs):
|
||||
except PaymentException as e:
|
||||
messages.error(request, str(e))
|
||||
urlkwargs['step'] = 'payment'
|
||||
return redirect(eventreverse(request.event, 'presale:event.checkout', kwargs=urlkwargs))
|
||||
return redirect_to_url(eventreverse(request.event, 'presale:event.checkout', kwargs=urlkwargs))
|
||||
if resp:
|
||||
return resp
|
||||
else:
|
||||
messages.error(request, _('Invalid response from PayPal received.'))
|
||||
logger.error('Session did not contain payment_paypal_id')
|
||||
urlkwargs['step'] = 'payment'
|
||||
return redirect(eventreverse(request.event, 'presale:event.checkout', kwargs=urlkwargs))
|
||||
return redirect_to_url(eventreverse(request.event, 'presale:event.checkout', kwargs=urlkwargs))
|
||||
|
||||
if payment:
|
||||
return redirect(eventreverse(request.event, 'presale:event.order', kwargs={
|
||||
return redirect_to_url(eventreverse(request.event, 'presale:event.order', kwargs={
|
||||
'order': payment.order.code,
|
||||
'secret': payment.order.secret
|
||||
}) + ('?paid=yes' if payment.order.status == Order.STATUS_PAID else ''))
|
||||
else:
|
||||
urlkwargs['step'] = 'confirm'
|
||||
return redirect(eventreverse(request.event, 'presale:event.checkout', kwargs=urlkwargs))
|
||||
return redirect_to_url(eventreverse(request.event, 'presale:event.checkout', kwargs=urlkwargs))
|
||||
|
||||
|
||||
def abort(request, *args, **kwargs):
|
||||
@@ -127,12 +128,12 @@ def abort(request, *args, **kwargs):
|
||||
payment = None
|
||||
|
||||
if payment:
|
||||
return redirect(eventreverse(request.event, 'presale:event.order', kwargs={
|
||||
return redirect_to_url(eventreverse(request.event, 'presale:event.order', kwargs={
|
||||
'order': payment.order.code,
|
||||
'secret': payment.order.secret
|
||||
}) + ('?paid=yes' if payment.order.status == Order.STATUS_PAID else ''))
|
||||
else:
|
||||
return redirect(eventreverse(request.event, 'presale:event.checkout', kwargs={'step': 'payment'}))
|
||||
return redirect_to_url(eventreverse(request.event, 'presale:event.checkout', kwargs={'step': 'payment'}))
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
@@ -259,7 +260,7 @@ def oauth_disconnect(request, **kwargs):
|
||||
event.enable_plugin("pretix.plugins.paypal2")
|
||||
event.save()
|
||||
|
||||
return redirect(reverse('control:event.settings.payment.provider', kwargs={
|
||||
return redirect_to_url(reverse('control:event.settings.payment.provider', kwargs={
|
||||
'organizer': request.event.organizer.slug,
|
||||
'event': request.event.slug,
|
||||
'provider': 'paypal_settings'
|
||||
|
||||
@@ -63,6 +63,7 @@ from pretix.base.payment import PaymentException
|
||||
from pretix.base.services.cart import add_payment_to_cart, get_fees
|
||||
from pretix.base.settings import GlobalSettingsObject
|
||||
from pretix.control.permissions import event_permission_required
|
||||
from pretix.helpers.http import redirect_to_url
|
||||
from pretix.multidomain.urlreverse import eventreverse
|
||||
from pretix.plugins.paypal2.client.customer.partners_merchantintegrations_get_request import (
|
||||
PartnersMerchantIntegrationsGetRequest,
|
||||
@@ -222,7 +223,7 @@ def isu_return(request, *args, **kwargs):
|
||||
missing_getparams = set(getparams) - set(request.GET)
|
||||
missing_sessionparams = {p for p in sessionparams if p not in request.session}
|
||||
logger.exception('PayPal2 - Missing params in GET {} and/or Session {}'.format(missing_getparams, missing_sessionparams))
|
||||
return redirect(reverse('control:index'))
|
||||
return redirect('control:index')
|
||||
|
||||
event = get_object_or_404(Event, pk=request.session['payment_paypal_isu_event'])
|
||||
|
||||
@@ -282,7 +283,7 @@ def isu_return(request, *args, **kwargs):
|
||||
if third_party.partner_client_id == prov.client.environment.client_id:
|
||||
event.settings.payment_paypal_isu_scopes = third_party.scopes
|
||||
|
||||
return redirect(reverse('control:event.settings.payment.provider', kwargs={
|
||||
return redirect_to_url(reverse('control:event.settings.payment.provider', kwargs={
|
||||
'organizer': event.organizer.slug,
|
||||
'event': event.slug,
|
||||
'provider': 'paypal_settings'
|
||||
@@ -345,12 +346,12 @@ def abort(request, *args, **kwargs):
|
||||
payment = None
|
||||
|
||||
if payment:
|
||||
return redirect(eventreverse(request.event, 'presale:event.order', kwargs={
|
||||
return redirect_to_url(eventreverse(request.event, 'presale:event.order', kwargs={
|
||||
'order': payment.order.code,
|
||||
'secret': payment.order.secret
|
||||
}) + ('?paid=yes' if payment.order.status == Order.STATUS_PAID else ''))
|
||||
else:
|
||||
return redirect(eventreverse(request.event, 'presale:event.checkout', kwargs={'step': 'payment'}))
|
||||
return redirect_to_url(eventreverse(request.event, 'presale:event.checkout', kwargs={'step': 'payment'}))
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
@@ -518,7 +519,7 @@ def isu_disconnect(request, **kwargs):
|
||||
request.event.settings.payment_paypal__enabled = False
|
||||
messages.success(request, _('Your PayPal account has been disconnected.'))
|
||||
|
||||
return redirect(reverse('control:event.settings.payment.provider', kwargs={
|
||||
return redirect_to_url(reverse('control:event.settings.payment.provider', kwargs={
|
||||
'organizer': request.event.organizer.slug,
|
||||
'event': request.event.slug,
|
||||
'provider': 'paypal_settings'
|
||||
|
||||
@@ -24,11 +24,11 @@ from urllib.parse import urlencode
|
||||
from django.contrib.messages import constants as messages, get_messages
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.dispatch import receiver
|
||||
from django.shortcuts import redirect
|
||||
from django.urls import resolve, reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from pretix.control.signals import nav_event_settings
|
||||
from pretix.helpers.http import redirect_to_url
|
||||
from pretix.presale.signals import process_request
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ def returnurl_process_request(sender, request, **kwargs):
|
||||
url += '&' + urlencode(query)
|
||||
else:
|
||||
url += '?' + urlencode(query)
|
||||
r = redirect(url)
|
||||
r = redirect_to_url(url)
|
||||
del request.session[key]
|
||||
return r
|
||||
elif urlname != 'event.order' and 'return_url' in request.GET:
|
||||
|
||||
@@ -65,6 +65,7 @@ from pretix.control.permissions import (
|
||||
from pretix.control.views.event import DecoupleMixin
|
||||
from pretix.control.views.organizer import OrganizerDetailViewMixin
|
||||
from pretix.helpers import OF_SELF
|
||||
from pretix.helpers.http import redirect_to_url
|
||||
from pretix.multidomain.urlreverse import build_absolute_uri, eventreverse
|
||||
from pretix.plugins.stripe.forms import OrganizerStripeSettingsForm
|
||||
from pretix.plugins.stripe.models import ReferencedStripeObject
|
||||
@@ -102,13 +103,13 @@ def redirect_view(request, *args, **kwargs):
|
||||
def oauth_return(request, *args, **kwargs):
|
||||
if 'payment_stripe_oauth_event' not in request.session:
|
||||
messages.error(request, _('An error occurred during connecting with Stripe, please try again.'))
|
||||
return redirect(reverse('control:index'))
|
||||
return redirect('control:index')
|
||||
|
||||
event = get_object_or_404(Event, pk=request.session['payment_stripe_oauth_event'])
|
||||
|
||||
if request.GET.get('state') != request.session['payment_stripe_oauth_token']:
|
||||
messages.error(request, _('An error occurred during connecting with Stripe, please try again.'))
|
||||
return redirect(reverse('control:event.settings.payment.provider', kwargs={
|
||||
return redirect_to_url(reverse('control:event.settings.payment.provider', kwargs={
|
||||
'organizer': event.organizer.slug,
|
||||
'event': event.slug,
|
||||
'provider': 'stripe_settings'
|
||||
@@ -147,7 +148,7 @@ def oauth_return(request, *args, **kwargs):
|
||||
except:
|
||||
logger.exception('Failed to obtain OAuth token')
|
||||
messages.error(request, _('An error occurred during connecting with Stripe, please try again.'))
|
||||
return redirect(reverse('control:event.settings.payment.provider', kwargs={
|
||||
return redirect_to_url(reverse('control:event.settings.payment.provider', kwargs={
|
||||
'organizer': event.organizer.slug,
|
||||
'event': event.slug,
|
||||
'provider': 'stripe_settings'
|
||||
@@ -188,7 +189,7 @@ def oauth_return(request, *args, **kwargs):
|
||||
|
||||
stripe_verify_domain.apply_async(args=(event.pk, get_domain_for_event(event)))
|
||||
|
||||
return redirect(reverse('control:event.settings.payment.provider', kwargs={
|
||||
return redirect_to_url(reverse('control:event.settings.payment.provider', kwargs={
|
||||
'organizer': event.organizer.slug,
|
||||
'event': event.slug,
|
||||
'provider': 'stripe_settings'
|
||||
@@ -469,7 +470,7 @@ def oauth_disconnect(request, **kwargs):
|
||||
request.event.settings.payment_stripe__enabled = False
|
||||
messages.success(request, _('Your Stripe account has been disconnected.'))
|
||||
|
||||
return redirect(reverse('control:event.settings.payment.provider', kwargs={
|
||||
return redirect_to_url(reverse('control:event.settings.payment.provider', kwargs={
|
||||
'organizer': request.event.organizer.slug,
|
||||
'event': request.event.slug,
|
||||
'provider': 'stripe_settings'
|
||||
@@ -503,9 +504,9 @@ class StripeOrderView:
|
||||
if self.request.session.get('payment_stripe_order_secret') != self.order.secret and not self.payment.provider.startswith('stripe'):
|
||||
messages.error(self.request, _('Sorry, there was an error in the payment process. Please check the link '
|
||||
'in your emails to continue.'))
|
||||
return redirect(eventreverse(self.request.event, 'presale:event.index'))
|
||||
return redirect_to_url(eventreverse(self.request.event, 'presale:event.index'))
|
||||
|
||||
return redirect(eventreverse(self.request.event, 'presale:event.order', kwargs={
|
||||
return redirect_to_url(eventreverse(self.request.event, 'presale:event.order', kwargs={
|
||||
'order': self.order.code,
|
||||
'secret': self.order.secret
|
||||
}) + ('?paid=yes' if self.order.status == Order.STATUS_PAID else ''))
|
||||
@@ -522,12 +523,12 @@ class ReturnView(StripeOrderView, View):
|
||||
logger.exception('Could not retrieve source')
|
||||
messages.error(self.request, _('Sorry, there was an error in the payment process. Please check the link '
|
||||
'in your emails to continue.'))
|
||||
return redirect(eventreverse(self.request.event, 'presale:event.index'))
|
||||
return redirect_to_url(eventreverse(self.request.event, 'presale:event.index'))
|
||||
|
||||
if src.client_secret != request.GET.get('client_secret'):
|
||||
messages.error(self.request, _('Sorry, there was an error in the payment process. Please check the link '
|
||||
'in your emails to continue.'))
|
||||
return redirect(eventreverse(self.request.event, 'presale:event.index'))
|
||||
return redirect_to_url(eventreverse(self.request.event, 'presale:event.index'))
|
||||
|
||||
with transaction.atomic():
|
||||
self.order.refresh_from_db()
|
||||
@@ -664,7 +665,7 @@ class OrganizerSettingsFormView(DecoupleMixin, OrganizerDetailViewMixin, Adminis
|
||||
}
|
||||
)
|
||||
messages.success(self.request, _('Your changes have been saved.'))
|
||||
return redirect(self.get_success_url())
|
||||
return redirect_to_url(self.get_success_url())
|
||||
else:
|
||||
messages.error(self.request, _('We could not save your changes. See below for details.'))
|
||||
return self.get(request)
|
||||
|
||||
Reference in New Issue
Block a user