From d2c2f4ad6d63ea6be9ac8e3eb4647fd87afd4236 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Mon, 20 Jun 2022 23:11:33 +0200
Subject: [PATCH] Use one column for address in full persons table and activate
 it for owners

---
 aleksis/core/tables.py                            | 14 ++++++++++----
 aleksis/core/templates/core/partials/address.html |  2 ++
 aleksis/core/views.py                             |  2 +-
 3 files changed, 13 insertions(+), 5 deletions(-)
 create mode 100644 aleksis/core/templates/core/partials/address.html

diff --git a/aleksis/core/tables.py b/aleksis/core/tables.py
index d60b691c2..4efd49ff2 100644
--- a/aleksis/core/tables.py
+++ b/aleksis/core/tables.py
@@ -44,6 +44,7 @@ class FullPersonsTable(PersonsTable):
     """Table to list persons."""
 
     photo = tables.Column(verbose_name=_("Photo"), accessor="pk", orderable=False)
+    address = tables.Column(verbose_name=_("Address"), accessor="pk", orderable=False)
 
     class Meta(PersonsTable.Meta):
         fields = (
@@ -51,10 +52,6 @@ class FullPersonsTable(PersonsTable):
             "date_of_birth",
             "sex",
             "email",
-            "street",
-            "housenumber",
-            "postal_code",
-            "place",
         )
         sequence = ("photo", "first_name", "last_name", "...")
 
@@ -69,6 +66,15 @@ class FullPersonsTable(PersonsTable):
             self.request,
         )
 
+    def render_address(self, value, record):
+        return render_to_string(
+            "core/partials/address.html",
+            {
+                "person": record,
+            },
+            self.request,
+        )
+
     def before_render(self, request):
         """Hide columns if user has no permission to view them."""
         if not self.request.user.has_perm("core.view_person_rule"):
diff --git a/aleksis/core/templates/core/partials/address.html b/aleksis/core/templates/core/partials/address.html
new file mode 100644
index 000000000..74a01bde2
--- /dev/null
+++ b/aleksis/core/templates/core/partials/address.html
@@ -0,0 +1,2 @@
+{{ person.street }} {{ person.housenumber }}<br>
+{{ person.postal_code }} {{ person.place }}
diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index 2a501d52b..185cf2258 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -367,7 +367,7 @@ def group(request: HttpRequest, id_: int) -> HttpResponse:
     owners = group.owners.all()
 
     # Build table
-    owners_table = PersonsTable(owners)
+    owners_table = FullPersonsTable(owners)
     RequestConfig(request).configure(owners_table)
     context["owners_table"] = owners_table
 
-- 
GitLab