from django.template.loader import render_to_string from django.utils.translation import gettext as _ from django_tables2 import A, BooleanColumn, Column, LinkColumn, RelatedLinkColumn, Table class CardTable(Table): """Table to list cards.""" class Meta: attrs = {"class": "highlight"} person = RelatedLinkColumn() chip_number = LinkColumn("card", verbose_name=_("Chip number"), args=[A("pk")]) current_status = Column(verbose_name=_("Current status"), accessor=A("pk")) valid_until = Column(verbose_name=_("Valid until")) deactivated = BooleanColumn(verbose_name=_("Deactivated")) actions = Column(verbose_name=_("Actions"), accessor=A("pk")) def render_current_status(self, value, record): return render_to_string( "kort/card/status.html", dict( card=record, ), ) def render_actions(self, value, record): return render_to_string("kort/card/actions.html", dict(pk=value, card=record))