from django.utils.translation import gettext_lazy as _ import django_tables2 as tables from .models import Team # noinspection PyTypeChecker class TeamTable(tables.Table): name = tables.LinkColumn( 'participation:team_detail', args=[tables.A("id")], verbose_name=lambda: _("name").capitalize(), ) problem = tables.Column( accessor="participation__problem", verbose_name=lambda: _("problem number").capitalize(), ) class Meta: attrs = { 'class': 'table table condensed table-striped', } model = Team fields = ('name', 'trigram', 'problem',) template_name = 'django_tables2/bootstrap4.html' # noinspection PyTypeChecker class ParticipationTable(tables.Table): name = tables.LinkColumn( 'participation:participation_detail', args=[tables.A("id")], verbose_name=lambda: _("name").capitalize(), accessor="team__name", ) trigram = tables.Column( verbose_name=lambda: _("trigram").capitalize(), accessor="team__trigram", ) problem = tables.Column( verbose_name=lambda: _("problem number").capitalize(), ) class Meta: attrs = { 'class': 'table table condensed table-striped', } model = Team fields = ('name', 'trigram', 'problem',) template_name = 'django_tables2/bootstrap4.html' class VideoTable(tables.Table): participationname = tables.LinkColumn( 'participation:participation_detail', args=[tables.A("participation__pk")], verbose_name=lambda: _("name").capitalize(), ) def render_participationname(self, record): return record.participation.team.name class Meta: attrs = { 'class': 'table table condensed table-striped', } model = Team fields = ('participationname', 'link',) template_name = 'django_tables2/bootstrap4.html'