def get_table(self): r = self.get_round() tournament = self.get_tournament() table = TabbycatTableBuilder(view=self) if r.draw_status == r.STATUS_NONE: return table # Return Blank draw = r.debate_set_with_prefetches(ordering=('room_rank', ), institutions=True, venues=True) populate_history(draw) if r.is_break_round: table.add_room_rank_columns(draw) else: table.add_debate_bracket_columns(draw) table.add_debate_venue_columns(draw, for_admin=True) table.add_team_columns([d.aff_team for d in draw], key=aff_name(tournament).capitalize(), hide_institution=True) table.add_team_columns([d.neg_team for d in draw], key=neg_name(tournament).capitalize(), hide_institution=True) # For draw details and draw draft pages if (r.draw_status == r.STATUS_DRAFT or self.detailed) and r.prev: teams = Team.objects.filter(debateteam__debate__round=r) metrics = r.tournament.pref('team_standings_precedence') generator = TeamStandingsGenerator(metrics, ('rank', 'subrank')) standings = generator.generate(teams, round=r.prev) if not r.is_break_round: table.add_debate_ranking_columns(draw, standings) else: self._add_break_rank_columns(table, draw, r.break_category) table.add_debate_metric_columns(draw, standings) table.add_sides_count([d.aff_team for d in draw], r.prev, 'aff') table.add_sides_count([d.neg_team for d in draw], r.prev, 'neg') else: table.add_debate_adjudicators_column(draw, show_splits=False) table.add_draw_conflicts_columns(draw) if not r.is_break_round: table.highlight_rows_by_column_value( column=0) # highlight first row of a new bracket return table
def get_table(self): r = self.get_round() table = TabbycatTableBuilder(view=self) if r.draw_status == r.STATUS_NONE: return table # Return Blank draw = r.debate_set_with_prefetches(ordering=('room_rank',), institutions=True) populate_history(draw) if r.is_break_round: table.add_room_rank_columns(draw) else: table.add_debate_bracket_columns(draw) table.add_debate_venue_columns(draw) table.add_team_columns([d.aff_team for d in draw], key="Aff", hide_institution=True) table.add_team_columns([d.neg_team for d in draw], key="Neg", hide_institution=True) # For draw details and draw draft pages if (r.draw_status == r.STATUS_DRAFT or self.detailed) and r.prev: teams = Team.objects.filter(debateteam__debate__round=r) metrics = r.tournament.pref('team_standings_precedence') generator = TeamStandingsGenerator(metrics, ('rank', 'subrank')) standings = generator.generate(teams, round=r.prev) if not r.is_break_round: table.add_debate_ranking_columns(draw, standings) else: table.add_column( {'tooltip': "Affirmative Team's Break Rank", 'text': "ABR"}, ["%s" % d.aff_team.break_rank_for_category(r.break_category) for d in draw]) table.add_column( {'tooltip': "Negative Team's Break Rank", 'text': "NBR"}, ["%s" % d.neg_team.break_rank_for_category(r.break_category) for d in draw]) table.add_debate_metric_columns(draw, standings) table.add_sides_count([d.aff_team for d in draw], r.prev, 'aff') table.add_sides_count([d.neg_team for d in draw], r.prev, 'neg') else: table.add_debate_adjudicators_column(draw, show_splits=False) table.add_draw_conflicts_columns(draw) if not r.is_break_round: table.highlight_rows_by_column_value(column=0) # highlight first row of a new bracket return table