From 39126d144ab8dd09d9264509d72ac4504e677c2b Mon Sep 17 00:00:00 2001 From: Paul Marillonnet Date: Wed, 31 Oct 2018 12:00:30 +0100 Subject: [PATCH] WIP backoffice: support next url after user creation (#26652) --- .../manager/templates/authentic2/manager/form.html | 4 ++++ .../manager/templates/authentic2/manager/user_add.html | 5 +++++ src/authentic2/manager/user_views.py | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/authentic2/manager/templates/authentic2/manager/form.html b/src/authentic2/manager/templates/authentic2/manager/form.html index 7b8b40a7..84b3df79 100644 --- a/src/authentic2/manager/templates/authentic2/manager/form.html +++ b/src/authentic2/manager/templates/authentic2/manager/form.html @@ -91,5 +91,9 @@ } }) +
+ {% block hidden_inputs %} + {% endblock %} +
{% endblock %} diff --git a/src/authentic2/manager/templates/authentic2/manager/user_add.html b/src/authentic2/manager/templates/authentic2/manager/user_add.html index ebc1cdd6..2192505d 100644 --- a/src/authentic2/manager/templates/authentic2/manager/user_add.html +++ b/src/authentic2/manager/templates/authentic2/manager/user_add.html @@ -5,6 +5,11 @@ {% trans "Add an user" %} {% endblock %} + {% block hidden_inputs %} + {{ block.super }} + {% if next_url %}{% endif %} + {% endblock %} + {% block breadcrumb %} {{ block.super }} {% trans 'Users' %}{% if multiple_ou and ou %} : {{ ou }}{% endif %} diff --git a/src/authentic2/manager/user_views.py b/src/authentic2/manager/user_views.py index 9e07edd9..de834921 100644 --- a/src/authentic2/manager/user_views.py +++ b/src/authentic2/manager/user_views.py @@ -129,12 +129,15 @@ class UserAddView(BaseAddView): return fields def get_success_url(self): - return reverse('a2-manager-user-detail', kwargs={'pk': self.object.pk}) + return self.request.POST.get('next_url') or \ + reverse('a2-manager-user-detail', kwargs={'pk': self.object.pk}) def get_context_data(self, **kwargs): context = super(UserAddView, self).get_context_data(**kwargs) context['cancel_url'] = '../..' context['ou'] = self.ou + if hasattr(self.request, 'GET') and 'next_url' in self.request.GET: + context['next_url'] = self.request.GET['next_url'] return context def form_valid(self, form): -- 2.19.1