From 733eaa27c4eeec2c341faccbbb8b3022e8835a99 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sat, 6 Feb 2021 15:07:19 +0100
Subject: [PATCH] Add SuccessNextMixin for automatic redirecting after
 finishing an action

---
 aleksis/core/mixins.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/aleksis/core/mixins.py b/aleksis/core/mixins.py
index 3cad91f2c..53e92489d 100644
--- a/aleksis/core/mixins.py
+++ b/aleksis/core/mixins.py
@@ -415,6 +415,19 @@ class SuccessMessageMixin(ModelFormMixin):
         return super().form_valid(form)
 
 
+class SuccessNextMixin:
+    def get_default_success_url(self):
+        return super().get_success_url()
+
+    def get_success_url(self) -> str:
+        next_url = self.request.GET.get("next")
+
+        if not next_url:
+            next_url = self.get_default_success_url()
+
+        return next_url
+
+
 class AdvancedCreateView(SuccessMessageMixin, CreateView):
     pass
 
-- 
GitLab