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