mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-04 08:22:10 +01:00 
			
		
		
		
	Fix table ordering bug
This commit is contained in:
		@@ -1,5 +1,6 @@
 | 
			
		||||
import django_tables2 as tables
 | 
			
		||||
from django.urls import reverse_lazy
 | 
			
		||||
from django.utils.html import format_html
 | 
			
		||||
from django.utils.translation import gettext_lazy as _
 | 
			
		||||
from django_tables2 import A
 | 
			
		||||
 | 
			
		||||
@@ -54,7 +55,8 @@ class SolutionTable(tables.Table):
 | 
			
		||||
        "tournament:detail",
 | 
			
		||||
        args=[A("tournament.pk")],
 | 
			
		||||
        accessor=A("tournament"),
 | 
			
		||||
        verbose_name=_("tournament"),
 | 
			
		||||
        order_by=("team__tournament__date_start", "team__tournament__name",),
 | 
			
		||||
        verbose_name=_("Tournament"),
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    file = tables.LinkColumn(
 | 
			
		||||
@@ -88,6 +90,7 @@ class SynthesisTable(tables.Table):
 | 
			
		||||
        "tournament:detail",
 | 
			
		||||
        args=[A("tournament.pk")],
 | 
			
		||||
        accessor=A("tournament"),
 | 
			
		||||
        order_by=("team__tournament__date_start", "team__tournament__name",),
 | 
			
		||||
        verbose_name=_("tournament"),
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
@@ -113,27 +116,29 @@ class SynthesisTable(tables.Table):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PoolTable(tables.Table):
 | 
			
		||||
    problems = tables.Column(verbose_name=_("Problems"))
 | 
			
		||||
    problems = tables.Column(
 | 
			
		||||
        verbose_name=_("Problems"),
 | 
			
		||||
        orderable=False,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    tournament = tables.Column(verbose_name=_("Tournament"))
 | 
			
		||||
    tournament = tables.LinkColumn(
 | 
			
		||||
        "tournament:detail",
 | 
			
		||||
        args=[A("tournament.pk")],
 | 
			
		||||
        verbose_name=_("Tournament"),
 | 
			
		||||
        order_by=("teams__tournament__date_start", "teams__tournament__name",),
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    def render_teams(self, value):
 | 
			
		||||
        return ", ".join(team.trigram for team in value.all())
 | 
			
		||||
    def render_teams(self, record, value):
 | 
			
		||||
        return format_html('<a href="{url}">{trigrams}</a>',
 | 
			
		||||
                           url=reverse_lazy('tournament:pool_detail', args=(record.pk,)),
 | 
			
		||||
                           trigrams=", ".join(team.trigram for team in value.all()))
 | 
			
		||||
 | 
			
		||||
    def render_problems(self, value):
 | 
			
		||||
        return ", ".join([str(pb) for pb in value])
 | 
			
		||||
 | 
			
		||||
    def render_juries(self, value):
 | 
			
		||||
        return ", ".join(str(jury) for jury in value.all())
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = Pool
 | 
			
		||||
        fields = ("teams", "tournament", "problems", "round", "juries", )
 | 
			
		||||
        fields = ("teams", "tournament", "problems", "round", )
 | 
			
		||||
        attrs = {
 | 
			
		||||
            'class': 'table table-condensed table-striped table-hover'
 | 
			
		||||
        }
 | 
			
		||||
        row_attrs = {
 | 
			
		||||
            'style': 'cursor: pointer;',
 | 
			
		||||
            'class': 'row-control',
 | 
			
		||||
            'data-href': lambda record: reverse_lazy('tournament:pool_detail', args=(record.pk,)),
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user