From 8d18301322e7ca7eaedb17140a2184875716a890 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sat, 6 Jun 2020 17:38:28 +0200
Subject: [PATCH] Improve group views

- Show group type and parent groups
- Allow additional_fields to be empty
- After save redirect to group details page
---
 aleksis/core/models.py                      |  4 +++-
 aleksis/core/templates/core/group_full.html | 19 +++++++++++++++++++
 aleksis/core/views.py                       |  4 ++--
 3 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/aleksis/core/models.py b/aleksis/core/models.py
index b5bb204c2..fe0d63d62 100644
--- a/aleksis/core/models.py
+++ b/aleksis/core/models.py
@@ -302,7 +302,9 @@ class Group(ExtensibleModel):
         null=True,
         blank=True,
     )
-    additional_fields = models.ManyToManyField(AdditionalField, verbose_name=_("Additional fields"))
+    additional_fields = models.ManyToManyField(
+        AdditionalField, verbose_name=_("Additional fields"), blank=True
+    )
 
     def get_absolute_url(self) -> str:
         return reverse("group_by_id", args=[self.id])
diff --git a/aleksis/core/templates/core/group_full.html b/aleksis/core/templates/core/group_full.html
index 0add6f1a3..2c778f837 100644
--- a/aleksis/core/templates/core/group_full.html
+++ b/aleksis/core/templates/core/group_full.html
@@ -31,6 +31,25 @@
     </p>
   {% endif %}
 
+  <table>
+    <tr>
+      <th>
+        <i class="material-icons center" title="{% trans "Group type" %}">category</i>
+      </th>
+      <td>
+        {{ group.group_type }}
+      </td>
+    </tr>
+    <tr>
+      <th>
+        <i class="material-icons center" title="{% trans "Parent groups" %}">vertical_align_top</i>
+      </th>
+      <td>
+        {{ group.parent_groups.all|join:", " }}
+      </td>
+    </tr>
+  </table>
+
   <h5>{% blocktrans %}Owners{% endblocktrans %}</h5>
   {% render_table owners_table %}
 
diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index 45b15be49..118c13103 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -282,11 +282,11 @@ def edit_group(request: HttpRequest, id_: Optional[int] = None) -> HttpResponse:
 
     if request.method == "POST":
         if edit_group_form.is_valid():
-            edit_group_form.save(commit=True)
+            group = edit_group_form.save(commit=True)
 
             messages.success(request, _("The group has been saved."))
 
-            return redirect("groups")
+            return redirect("group_by_id", group.pk)
 
     context["edit_group_form"] = edit_group_form
 
-- 
GitLab