From 0b147eead8c24a14a20e3c8723128ea8fae43884 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sat, 6 Feb 2021 13:15:29 +0100
Subject: [PATCH] Fix assigned_roles.html and AssignGroupRoleView for
 independent usage

---
 .../alsijil/group_role/partials/assigned_roles.html        | 7 ++++---
 aleksis/apps/alsijil/views.py                              | 4 ++--
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html b/aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html
index 01edd746d..bc8c16f02 100644
--- a/aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html
+++ b/aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html
@@ -1,4 +1,5 @@
-{% load i18n %}
+{% load i18n rules %}
+{% has_perm "alsijil.assign_grouprole_for_group" user group as can_assign_group_role %}
 <div class="collection">
   {% for role in roles %}
     <div class="collection-item">
@@ -6,7 +7,7 @@
         <div class="col s12 m5 l4 xl3 no-padding">
           {% if can_assign_group_role %}
             <a class="btn waves-effect waves-light right hide-on-med-and-up"
-               href="{% url "assign_group_role" group.pk role.pk %}">
+               href="{% url "assign_group_role" group.pk role.pk %}?next={{ back_url }}">
               <i class="material-icons center">add</i>
             </a>
           {% endif %}
@@ -19,7 +20,7 @@
         <div class="col s12 m7 l8 xl9 no-padding">
           {% if can_assign_group_role %}
             <a class="btn waves-effect waves-light right hide-on-small-only"
-               href="{% url "assign_group_role" group.pk role.pk %}">
+               href="{% url "assign_group_role" group.pk role.pk %}?next={{ back_url }}">
               <i class="material-icons center">add</i>
             </a>
           {% endif %}
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index f5b3faf4e..678eac292 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -968,14 +968,14 @@ class AssignedGroupRolesView(PermissionRequiredMixin, DetailView):
 
 
 @method_decorator(never_cache, name="dispatch")
-class AssignGroupRoleView(PermissionRequiredMixin, AdvancedCreateView):
+class AssignGroupRoleView(PermissionRequiredMixin, SuccessNextMixin, AdvancedCreateView):
     model = GroupRoleAssignment
     form_class = AssignGroupRoleForm
     permission_required = "alsijil.assign_grouprole_for_group"
     template_name = "alsijil/group_role/assign.html"
     success_message = _("The group role has been assigned.")
 
-    def get_success_url(self) -> str:
+    def get_default_success_url(self) -> str:
         return reverse("assigned_group_roles", args=[self.group.pk])
 
     def get_permission_object(self):
-- 
GitLab