From 697cdfd5c9a9da7aa2c6d73b5175db071b285402 Mon Sep 17 00:00:00 2001
From: Raphael Michel
Date: Wed, 27 Mar 2019 16:45:15 +0100
Subject: [PATCH] Allow to redirect to checkout directly after adding a product
to the cart
---
src/pretix/base/settings.py | 4 ++++
src/pretix/control/forms/event.py | 4 ++++
.../control/templates/pretixcontrol/event/display.html | 1 +
src/pretix/presale/templates/pretixpresale/event/index.html | 2 +-
.../presale/templates/pretixpresale/event/voucher.html | 3 +--
src/pretix/presale/views/cart.py | 5 +++++
src/pretix/presale/views/event.py | 4 ++++
7 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/pretix/base/settings.py b/src/pretix/base/settings.py
index 3d3ddac213..c7f7e2c1f1 100644
--- a/src/pretix/base/settings.py
+++ b/src/pretix/base/settings.py
@@ -97,6 +97,10 @@ DEFAULTS = {
'default': '30',
'type': int
},
+ 'redirect_to_checkout_directly': {
+ 'default': 'False',
+ 'type': bool
+ },
'payment_explanation': {
'default': '',
'type': LazyI18nString
diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py
index 4ad2264620..264dfa41cc 100644
--- a/src/pretix/control/forms/event.py
+++ b/src/pretix/control/forms/event.py
@@ -1074,6 +1074,10 @@ class DisplaySettingsForm(SettingsForm):
label=_('Ask search engines not to index the ticket shop'),
required=False
)
+ redirect_to_checkout_directly = forms.BooleanField(
+ label=_('Directly redirect to check-out after a product has been added to the cart.'),
+ required=False
+ )
def __init__(self, *args, **kwargs):
event = kwargs['obj']
diff --git a/src/pretix/control/templates/pretixcontrol/event/display.html b/src/pretix/control/templates/pretixcontrol/event/display.html
index 80e557b7e9..09f1ac9b9f 100644
--- a/src/pretix/control/templates/pretixcontrol/event/display.html
+++ b/src/pretix/control/templates/pretixcontrol/event/display.html
@@ -17,6 +17,7 @@
{% if form.frontpage_subevent_ordering %}
{% bootstrap_field form.frontpage_subevent_ordering layout="control" %}
{% endif %}
+ {% bootstrap_field form.redirect_to_checkout_directly layout="control" %}
{% if event.presale_is_running or event.settings.show_items_outside_presale_period %}