From ab9abc852002c83647e704bc2fbf644898bf112f Mon Sep 17 00:00:00 2001 From: Ehouarn Date: Thu, 17 Jul 2025 20:07:12 +0200 Subject: [PATCH] Better list tables --- apps/family/tables.py | 21 ++++++++++--------- .../templates/family/challenge_list.html | 7 +++++++ apps/family/templates/family/family_list.html | 8 +++++++ 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/apps/family/tables.py b/apps/family/tables.py index 4172b975..dd3d916c 100644 --- a/apps/family/tables.py +++ b/apps/family/tables.py @@ -3,6 +3,7 @@ import django_tables2 as tables from django_tables2 import A +from django.urls import reverse from .models import Family, Challenge, FamilyMembership @@ -11,11 +12,6 @@ class FamilyTable(tables.Table): """ List all families """ - name = tables.LinkColumn( - "family:family_detail", - args=[A("pk")], - ) - class Meta: attrs = { 'class': 'table table-condensed table-striped table-hover' @@ -24,17 +20,17 @@ class FamilyTable(tables.Table): template_name = 'django_tables2/bootstrap4.html' fields = ('name', 'score', 'rank',) order_by = ('rank',) + row_attrs = { + 'class': 'table-row', + 'data-href': lambda record: reverse('family:family_detail', args=[record.pk]), + 'style': 'cursor:pointer', + } class ChallengeTable(tables.Table): """ List all challenges """ - name = tables.LinkColumn( - "family:challenge_detail", - args=[A("pk")], - ) - class Meta: attrs = { 'class': 'table table-condensed table-striped table-hover' @@ -43,6 +39,11 @@ class ChallengeTable(tables.Table): model = Challenge template_name = 'django_tables2/bootstrap4.html' fields = ('name', 'description', 'points',) + row_attrs = { + 'class': 'table-row', + 'data-href': lambda record: reverse('family:challenge_detail', args=[record.pk]), + 'style': 'cursor:pointer', + } class FamilyMembershipTable(tables.Table): diff --git a/apps/family/templates/family/challenge_list.html b/apps/family/templates/family/challenge_list.html index f16f37a7..c84b80ce 100644 --- a/apps/family/templates/family/challenge_list.html +++ b/apps/family/templates/family/challenge_list.html @@ -28,3 +28,10 @@ SPDX-License-Identifier: GPL-3.0-or-later {% endblock %} +{% block extrajavascript %} + +{% endblock %} diff --git a/apps/family/templates/family/family_list.html b/apps/family/templates/family/family_list.html index 38738fcf..b4b28a89 100644 --- a/apps/family/templates/family/family_list.html +++ b/apps/family/templates/family/family_list.html @@ -26,5 +26,13 @@ SPDX-License-Identifier: GPL-3.0-or-later {% render_table table %} + {% endblock %} +{% block extrajavascript %} + +{% endblock %}