# Copyright (C) 2020 by Animath # SPDX-License-Identifier: GPL-3.0-or-later from django.utils import formats from django.utils.text import format_lazy from django.utils.translation import gettext_lazy as _ import django_tables2 as tables from .models import Team, Tournament # noinspection PyTypeChecker class TeamTable(tables.Table): name = tables.LinkColumn( 'participation:team_detail', args=[tables.A("id")], verbose_name=lambda: _("name").capitalize(), ) class Meta: attrs = { 'class': 'table table condensed table-striped', } model = Team fields = ('name', 'trigram',) template_name = 'django_tables2/bootstrap4.html' # noinspection PyTypeChecker class ParticipationTable(tables.Table): name = tables.LinkColumn( 'participation:team_detail', args=[tables.A("team__id")], verbose_name=_("name").capitalize, accessor="team__name", ) trigram = tables.Column( verbose_name=_("trigram").capitalize, accessor="team__trigram", ) valid = tables.Column( verbose_name=_("valid").capitalize, accessor="valid", empty_values=(), ) def render_valid(self, value): return _("Validated") if value else _("Validation pending") if value is False else _("Not validated") class Meta: attrs = { 'class': 'table table condensed table-striped', } model = Team fields = ('name', 'trigram', 'valid',) template_name = 'django_tables2/bootstrap4.html' class TournamentTable(tables.Table): name = tables.LinkColumn() date = tables.Column(_("date").capitalize, accessor="id") def render_date(self, record): return format_lazy(_("From {start} to {end}"), start=formats.date_format(record.date_start, format="SHORT_DATE_FORMAT", use_l10n=True), end=formats.date_format(record.date_end, format="SHORT_DATE_FORMAT", use_l10n=True)) class Meta: attrs = { 'class': 'table table condensed table-striped', } model = Tournament fields = ('name', 'date',) template_name = 'django_tables2/bootstrap4.html'