From 0121e053f65563095b464c9f8366c6ede97a880b Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 21 Mar 2023 17:17:39 +0100 Subject: [PATCH] Fix non-functional login page after session timeout --- src/pretix/control/templates/pretixcontrol/auth/login.html | 1 + src/pretix/static/pretixcontrol/js/ui/main.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pretix/control/templates/pretixcontrol/auth/login.html b/src/pretix/control/templates/pretixcontrol/auth/login.html index 560d4ddff7..f343aad729 100644 --- a/src/pretix/control/templates/pretixcontrol/auth/login.html +++ b/src/pretix/control/templates/pretixcontrol/auth/login.html @@ -46,4 +46,5 @@ {% endif %} + {# marker required for ajax calls to detect that user session is over #} {% endblock %} diff --git a/src/pretix/static/pretixcontrol/js/ui/main.js b/src/pretix/static/pretixcontrol/js/ui/main.js index fec7bddac7..faf3193c4e 100644 --- a/src/pretix/static/pretixcontrol/js/ui/main.js +++ b/src/pretix/static/pretixcontrol/js/ui/main.js @@ -100,7 +100,9 @@ var i18nToString = function (i18nstring) { $(document).ajaxError(function (event, jqXHR, settings, thrownError) { waitingDialog.hide(); var c = $(jqXHR.responseText).filter('.container'); - if (c.length > 0) { + if (jqXHR.responseText.indexOf("") !== -1) { + location.href = '/control/login?next=' + encodeURIComponent(location.pathname + location.search + location.hash) + } else if (c.length > 0) { ajaxErrDialog.show(c.first().html()); } else if (thrownError !== "abort" && thrownError !== "") { console.log(thrownError);