Redirect directly to time machine page after session transfer

This commit is contained in:
Mira Weller
2024-05-07 12:42:07 +02:00
parent 69a798046e
commit cefbfc1ad1
3 changed files with 16 additions and 8 deletions
@@ -1,6 +1,6 @@
{% load eventurl %}
{% load static %}
<form action="{% eventurl request.event "presale:event.auth" %}" method="post">
<form action="{% eventurl request.event "presale:event.auth" %}{% if request.GET.next %}?next={{ request.GET.next }}{% endif %}" method="post">
<input type="hidden" value="{{ new_session }}" name="session">
<button type="submit">
Continue
@@ -135,12 +135,14 @@
</p>
{% elif request.event_domain or request.organizer_domain %}
<p>
{% url "control:event.transfer_session" event=event.slug organizer=event.organizer.slug as time_machine_link %}
{% blocktrans trimmed with time_machine_link=time_machine_link %}
{% absmainurl "control:event.transfer_session" event=event.slug organizer=event.organizer.slug as time_machine_link %}
To view your shop at different points in time, you can enable
<a href="{{ time_machine_link }}"><span class="fa fa-clock-o" aria-hidden="true"></span>time machine</a>.
{% endblocktrans %}
{% absmainurl "control:event.transfer_session" event=event.slug organizer=event.organizer.slug as transfer_session_link %}
{% eventurl event "presale:event.timemachine" as time_machine_link %}
{% with time_machine_link_encoded=time_machine_link|urlencode %}
{% blocktrans trimmed with time_machine_link=transfer_session_link|add:"?next="|add:time_machine_link_encoded %}
To view your shop at different points in time, you can enable
<a href="{{ time_machine_link }}"><span class="fa fa-clock-o" aria-hidden="true"></span>time machine</a>.
{% endblocktrans %}
{% endwith %}
</p>
{% endif %}
</div>
+7 -1
View File
@@ -56,6 +56,7 @@ from django.shortcuts import get_object_or_404, redirect, render
from django.utils.decorators import method_decorator
from django.utils.formats import get_format
from django.utils.functional import SimpleLazyObject
from django.utils.http import url_has_allowed_host_and_scheme
from django.utils.timezone import get_current_timezone, now
from django.utils.translation import gettext_lazy as _, pgettext_lazy
from django.views import View
@@ -924,7 +925,12 @@ class EventAuth(View):
raise PermissionDenied(_('Please go back and try again.'))
request.session['pretix_event_access_{}'.format(request.event.pk)] = parent
return redirect_to_url(eventreverse(request.event, 'presale:event.index'))
if "next" in self.request.GET and url_has_allowed_host_and_scheme(
url=self.request.GET.get("next"), allowed_hosts=request.host, require_https=True):
return redirect_to_url(self.request.GET.get('next'))
else:
return redirect_to_url(eventreverse(request.event, 'presale:event.index'))
class TimemachineForm(forms.Form):