diff --git a/aleksis/core/mixins.py b/aleksis/core/mixins.py index 3cad91f2c80301d8d73268e32f58d7773c5a45c8..53e92489de84f53d60a54be858ba087571cf2ef9 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