Added multi-domain capabilities

This commit is contained in:
Raphael Michel
2015-10-16 21:06:12 +02:00
parent d7d6e74c04
commit 3fa0cfb077
38 changed files with 722 additions and 143 deletions

View File

@@ -2,12 +2,12 @@ from datetime import timedelta
from itertools import groupby
from django.contrib.auth.views import redirect_to_login
from django.core.urlresolvers import reverse
from django.utils.functional import cached_property
from django.utils.timezone import now
from pretix.base.models import CartPosition
from pretix.base.signals import register_payment_providers
from pretix.multidomain.urlreverse import eventreverse
def login_required(view_func):
@@ -15,12 +15,7 @@ def login_required(view_func):
if request.user.is_authenticated():
return view_func(request, *args, **kwargs)
path = request.path
return redirect_to_login(
path, reverse('presale:event.checkout.login', kwargs={
'organizer': request.event.organizer.slug,
'event': request.event.slug,
}), 'next'
)
return redirect_to_login(path, eventreverse(request.event, 'presale:event.checkout.login'), 'next')
return _wrapped_view

View File

@@ -1,5 +1,4 @@
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.http import JsonResponse
from django.shortcuts import redirect
from django.utils.translation import ugettext as _
@@ -8,6 +7,7 @@ from django.views.generic import View
from pretix.base.services.cart import (
CartError, add_items_to_cart, remove_items_from_cart,
)
from pretix.multidomain.urlreverse import eventreverse
from pretix.presale.views import EventViewMixin
from pretix.presale.views.async import AsyncAction
@@ -18,10 +18,7 @@ class CartActionMixin:
if "next" in self.request.GET and '://' not in self.request.GET:
return self.request.GET.get('next')
else:
return reverse('presale:event.index', kwargs={
'event': self.request.event.slug,
'organizer': self.request.event.organizer.slug,
})
return eventreverse(self.request.event, 'presale:event.index')
def get_success_url(self, value=None):
return self.get_next_url()

View File

@@ -1,10 +1,10 @@
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.http import Http404
from django.shortcuts import redirect
from django.utils.translation import ugettext_lazy as _
from django.views.generic import View
from pretix.multidomain.urlreverse import eventreverse
from pretix.presale.checkoutflow import get_checkout_flow
from pretix.presale.views import CartMixin
@@ -14,10 +14,7 @@ class CheckoutView(CartMixin, View):
self.request = request
if not self.positions and "async_id" not in request.GET:
messages.error(request, _("Your cart is empty"))
return redirect(reverse('presale:event.index', kwargs={
'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug
}))
return redirect(eventreverse(self.request.event, 'presale:event.index'))
flow = get_checkout_flow(self.request.event)
for step in flow:

View File

@@ -14,6 +14,7 @@ from pretix.base.services.tickets import generate
from pretix.base.signals import (
register_payment_providers, register_ticket_outputs,
)
from pretix.multidomain.urlreverse import eventreverse
from pretix.presale.views import CartMixin, EventViewMixin
from pretix.presale.views.questions import QuestionsViewMixin
@@ -36,9 +37,7 @@ class OrderDetailMixin:
return provider
def get_order_url(self):
return reverse('presale:event.order', kwargs={
'event': self.request.event.slug,
'organizer': self.request.event.organizer.slug,
return eventreverse(self.request.event, 'presale:event.order', kwargs={
'order': self.order.code,
'secret': self.order.secret
})
@@ -132,9 +131,7 @@ class OrderPay(EventViewMixin, OrderDetailMixin, TemplateView):
return self.payment_provider.payment_form_render(self.request)
def get_confirm_url(self):
return reverse('presale:event.order.pay.confirm', kwargs={
'event': self.request.event.slug,
'organizer': self.request.event.organizer.slug,
return eventreverse(self.request.event, 'presale:event.order.pay.confirm', kwargs={
'order': self.order.code,
'secret': self.order.secret
})
@@ -169,9 +166,7 @@ class OrderPayDo(EventViewMixin, OrderDetailMixin, TemplateView):
return ctx
def get_payment_url(self):
return reverse('presale:event.order.pay', kwargs={
'event': self.request.event.slug,
'organizer': self.request.event.organizer.slug,
return eventreverse(self.request.event, 'presale:event.order.pay', kwargs={
'order': self.order.code,
'secret': self.order.secret
})
@@ -194,9 +189,7 @@ class OrderPayComplete(EventViewMixin, OrderDetailMixin, View):
return redirect(resp or self.get_order_url() + '?paid=yes')
def get_payment_url(self):
return reverse('presale:event.order.pay', kwargs={
'event': self.request.event.slug,
'organizer': self.request.event.organizer.slug,
return eventreverse(self.request.event, 'presale:event.order.pay', kwargs={
'order': self.order.code,
'secret': self.order.secret
})