From cefbfc1ad1f05372b2383fdcd96b077b86327313 Mon Sep 17 00:00:00 2001
From: Mira Weller
- {% 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 - time machine. - {% 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 + time machine. + {% endblocktrans %} + {% endwith %}
{% endif %} diff --git a/src/pretix/presale/views/event.py b/src/pretix/presale/views/event.py index 6ecbf19d7..c709c7574 100644 --- a/src/pretix/presale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -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):