def get_adjudicators_table(self): tournament = self.tournament def _build_url(adjudicator): if adjudicator.url_key is None: return {'text': _("no URL"), 'class': 'text-warning'} path = reverse_tournament('privateurls-person-index', tournament, kwargs={'url_key': adjudicator.url_key}) return { 'text': self.request.build_absolute_uri(path), 'class': 'small' } adjudicators = Adjudicator.objects.all() if tournament.pref( 'share_adjs') else Adjudicator.objects.filter( tournament=tournament) table = TabbycatTableBuilder(view=self, title=_("Adjudicators"), sort_key="name") table.add_adjudicator_columns(adjudicators, show_institutions=False, show_metadata=False) table.add_column({ 'key': 'url', 'title': _("URL") }, [_build_url(adj) for adj in adjudicators]) return table
def get_tables(self): tournament = self.tournament teams = tournament.team_set.all().annotate(feedback_count=Count('debateteam__adjudicatorfeedback')).prefetch_related('speaker_set') team_table = TabbycatTableBuilder( view=self, title=_('From Teams'), sort_key='team') team_table.add_team_columns(teams) team_feedback_data = [] for team in teams: count = team.feedback_count team_feedback_data.append({ 'text': ngettext("%(count)d feedback", "%(count)d feedbacks", count) % {'count': count}, 'link': reverse_tournament('adjfeedback-view-from-team', tournament, kwargs={'pk': team.id}), }) team_table.add_column({'key': 'feedbacks', 'title': _("Feedbacks")}, team_feedback_data) adjs = tournament.adjudicator_set.all().annotate(feedback_count=Count('debateadjudicator__adjudicatorfeedback')) adj_table = TabbycatTableBuilder( view=self, title=_('From Adjudicators'), sort_key='name') adj_table.add_adjudicator_columns(adjs) adj_feedback_data = [] for adj in adjs: count = adj.feedback_count adj_feedback_data.append({ 'text': ngettext("%(count)d feedback", "%(count)d feedbacks", count) % {'count': count}, 'link': reverse_tournament('adjfeedback-view-from-adjudicator', tournament, kwargs={'pk': adj.id}), }) adj_table.add_column({'key': 'feedbacks', 'title': _("Feedbacks")}, adj_feedback_data) return [team_table, adj_table]
def get_tables(self): adjudicators = self.tournament.adjudicator_set.select_related( 'institution') adjs_table = TabbycatTableBuilder(view=self, title=_("Adjudicators"), sort_key="name") adjs_table.add_adjudicator_columns(adjudicators) speakers = Speaker.objects.filter( team__tournament=self.tournament).select_related( 'team', 'team__institution').prefetch_related('team__speaker_set', 'categories') if use_team_code_names(self.tournament, self.admin): speakers = speakers.order_by('team__code_name') else: speakers = speakers.order_by('team__short_name') speakers_table = TabbycatTableBuilder(view=self, title=_("Speakers"), sort_key="team", admin=self.admin) speakers_table.add_speaker_columns(speakers) speakers_table.add_team_columns([speaker.team for speaker in speakers]) return [adjs_table, speakers_table]
def get_adjudicators_table(self): tournament = self.get_tournament() def _build_url(adjudicator, url_name): if adjudicator.url_key is None: return {'text': _("no URL"), 'class': 'text-warning'} path = reverse_tournament(url_name, tournament, kwargs={'url_key': adjudicator.url_key}) return { 'text': self.request.build_absolute_uri(path), 'class': 'small' } adjudicators = Adjudicator.objects.all() if tournament.pref( 'share_adjs') else tournament.adjudicator_set.all() table = TabbycatTableBuilder(view=self, title=_("Adjudicators"), sort_key=_("Name")) table.add_adjudicator_columns(adjudicators, hide_institution=True, hide_metadata=True) table.add_column(_("Feedback URL"), [ _build_url(adj, 'adjfeedback-public-add-from-adjudicator-randomised') for adj in adjudicators ]) table.add_column(_("Ballot URL"), [ _build_url(adj, 'results-public-ballotset-new-randomised') for adj in adjudicators ]) return table
def get_adjudicators_table(self): tournament = self.tournament adjudicators = Adjudicator.objects.all() if tournament.pref('share_adjs') else Adjudicator.objects.filter(tournament=tournament) table = TabbycatTableBuilder(view=self, title=_("Adjudicators"), sort_key="name") table.add_adjudicator_columns(adjudicators, show_institutions=False, show_metadata=False) self.add_url_columns(table, adjudicators, self.request) return table
def get_tables(self): t = self.get_tournament() adjudicators = t.adjudicator_set.select_related('institution') adjs_table = TabbycatTableBuilder(view=self, title="Adjudicators", sort_key="Name") adjs_table.add_adjudicator_columns(adjudicators) teams = t.team_set.select_related('institution') teams_table = TabbycatTableBuilder(view=self, title="Teams", sort_key="Name") teams_table.add_team_columns(teams, key="Name") return [adjs_table, teams_table]
def get_table(self): tournament = self.get_tournament() table = TabbycatTableBuilder(view=self, sort_key="Name") table.add_adjudicator_columns(tournament.adjudicator_set.all()) feedback_data = [] for adj in tournament.adjudicator_set.all(): count = adj.adjudicatorfeedback_set.count() feedback_data.append({ 'text': "{:d} Feedbacks".format(count), 'link': reverse_tournament('adjfeedback-view-on-adjudicator', tournament, kwargs={'pk': adj.id}), }) table.add_column("Feedbacks", feedback_data) return table
def get_table(self): tournament = self.tournament table = TabbycatTableBuilder(view=self, sort_key="name") table.add_adjudicator_columns(tournament.adjudicator_set.all()) feedback_data = [] for adj in tournament.adjudicator_set.all(): count = adj.adjudicatorfeedback_set.count() feedback_data.append({ 'text': ngettext("%(count)d feedback", "%(count)d feedbacks", count) % {'count': count}, 'link': reverse_tournament('adjfeedback-view-on-adjudicator', tournament, kwargs={'pk': adj.id}), }) table.add_column({'key': 'feedbacks', 'title': _("Feedbacks")}, feedback_data) return table
def get_table(self): tournament = self.tournament table = TabbycatTableBuilder(view=self, sort_key="name") table.add_adjudicator_columns(tournament.adjudicator_set.all()) feedback_data = [] for adj in tournament.adjudicator_set.all().annotate(feedback_count=Count('adjudicatorfeedback')): count = adj.feedback_count feedback_data.append({ 'text': ngettext("%(count)d feedback", "%(count)d feedbacks", count) % {'count': count}, 'link': reverse_tournament('adjfeedback-view-on-adjudicator', tournament, kwargs={'pk': adj.id}), }) table.add_column({'key': 'feedbacks', 'title': _("Feedbacks")}, feedback_data) return table
def get_tables(self): tournament = self.get_tournament() teams = tournament.team_set.all() team_table = TabbycatTableBuilder(view=self, title='From Teams', sort_key='Team') team_table.add_team_columns(teams) team_feedback_data = [] for team in teams: count = AdjudicatorFeedback.objects.filter( source_team__team=team).select_related( 'source_team__team').count() team_feedback_data.append({ 'text': ungettext("%(count)d feedback", "%(count)d feedbacks", count) % { 'count': count }, 'link': reverse_tournament('adjfeedback-view-from-team', tournament, kwargs={'pk': team.id}), }) team_table.add_column("Feedbacks", team_feedback_data) adjs = tournament.adjudicator_set.all() adj_table = TabbycatTableBuilder(view=self, title='From Adjudicators', sort_key='Name') adj_table.add_adjudicator_columns(adjs) adj_feedback_data = [] for adj in adjs: count = AdjudicatorFeedback.objects.filter( source_adjudicator__adjudicator=adj).select_related( 'source_adjudicator__adjudicator').count() adj_feedback_data.append({ 'text': ungettext("%(count)d feedback", "%(count)d feedbacks", count) % { 'count': count }, 'link': reverse_tournament('adjfeedback-view-from-adjudicator', tournament, kwargs={'pk': adj.id}), }) adj_table.add_column("Feedbacks", adj_feedback_data) return [team_table, adj_table]
def get_tables(self): t = self.get_tournament() adjudicators = t.adjudicator_set.select_related('institution') adjs_table = TabbycatTableBuilder(view=self, title="Adjudicators", sort_key="Name") adjs_table.add_adjudicator_columns(adjudicators) speakers = Speaker.objects.filter(team__tournament=t).select_related( 'team', 'team__institution').prefetch_related('team__speaker_set') speakers_table = TabbycatTableBuilder(view=self, title="Speakers", sort_key="Name") speakers_table.add_speaker_columns(speakers) speakers_table.add_team_columns([speaker.team for speaker in speakers]) return [adjs_table, speakers_table]
def get_adjudicators_table(self, url_type, url_name, url_header): tournament = self.tournament def _build_url(adjudicator): path = reverse_tournament(url_name, tournament, kwargs={'url_key': adjudicator.url_key}) return self.request.build_absolute_uri(path) adjudicators = self.get_adjudicators_to_email(url_type) title = _("Adjudicators who will be sent e-mails (%(n)s)") % {'n': adjudicators.count()} table = TabbycatTableBuilder(view=self, title=title, sort_key="name") table.add_adjudicator_columns(adjudicators, show_institutions=False, show_metadata=False) table.add_column({'key': 'email', 'title': _("Email")}, [adj.email for adj in adjudicators]) table.add_column(url_header, [_build_url(adj) for adj in adjudicators]) return table
def get_tables(self): t = self.get_tournament() adjudicators = t.adjudicator_set.select_related('institution') adjs_table = TabbycatTableBuilder(view=self, title="Adjudicators", sort_key="Name") adjs_table.add_adjudicator_columns(adjudicators) teams = t.team_set.select_related('institution') teams_table = TabbycatTableBuilder(view=self, title="Teams", sort_key="Name") teams_table.add_team_columns(teams, key="Name") return [adjs_table, teams_table]
def get_table(self): tournament = self.get_tournament() table = TabbycatTableBuilder(view=self, sort_key="Name") table.add_adjudicator_columns(tournament.adjudicator_set.all()) feedback_data = [] for adj in tournament.adjudicator_set.all(): count = adj.adjudicatorfeedback_set.count() feedback_data.append({ 'text': "{:d} Feedbacks".format(count), 'link': reverse_tournament('adjfeedback-view-on-adjudicator', tournament, kwargs={'pk': adj.id}), }) table.add_column("Feedbacks", feedback_data) return table
def get_tables(self): adjudicators = self.tournament.adjudicator_set.select_related('institution') adjs_table = TabbycatTableBuilder(view=self, title=_("Adjudicators"), sort_key="name") adjs_table.add_adjudicator_columns(adjudicators) speakers = Speaker.objects.filter(team__tournament=self.tournament).select_related( 'team', 'team__institution').prefetch_related('team__speaker_set', 'categories') if use_team_code_names(self.tournament, self.admin): speakers = speakers.order_by('team__code_name') else: speakers = speakers.order_by('team__short_name') speakers_table = TabbycatTableBuilder(view=self, title=_("Speakers"), sort_key="team", admin=self.admin) speakers_table.add_speaker_columns(speakers) speakers_table.add_team_columns([speaker.team for speaker in speakers]) return [adjs_table, speakers_table]
def get_adjudicators_table(self): tournament = self.tournament def _build_url(adjudicator): if adjudicator.url_key is None: return {'text': _("no URL"), 'class': 'text-warning'} path = reverse_tournament('privateurls-person-index', tournament, kwargs={'url_key': adjudicator.url_key}) return {'text': self.request.build_absolute_uri(path), 'class': 'small'} adjudicators = Adjudicator.objects.all() if tournament.pref('share_adjs') else Adjudicator.objects.filter(tournament=tournament) table = TabbycatTableBuilder(view=self, title=_("Adjudicators"), sort_key="name") table.add_adjudicator_columns(adjudicators, show_institutions=False, show_metadata=False) table.add_column( {'key': 'url', 'title': _("URL")}, [_build_url(adj) for adj in adjudicators] ) return table
def get_tables(self): t = self.get_tournament() adjudicators = t.adjudicator_set.select_related('institution') adjs_table = TabbycatTableBuilder(view=self, title="Adjudicators", sort_key="Name") adjs_table.add_adjudicator_columns(adjudicators) speakers = Speaker.objects.filter(team__tournament=t).select_related( 'team', 'team__institution').prefetch_related('team__speaker_set') speakers_table = TabbycatTableBuilder(view=self, title="Speakers", sort_key="Name") speakers_table.add_speaker_columns(speakers) speakers_table.add_team_columns([speaker.team for speaker in speakers]) return [adjs_table, speakers_table]
def get_tables(self): tournament = self.get_tournament() teams = tournament.team_set.all() team_table = TabbycatTableBuilder( view=self, title='From Teams', sort_key='Name') team_table.add_team_columns(teams) team_feedback_data = [] for team in teams: count = AdjudicatorFeedback.objects.filter( source_team__team=team).select_related( 'source_team__team').count() team_feedback_data.append({ 'text': "{:d} Feedbacks".format(count), 'link': reverse_tournament('adjfeedback-view-from-team', tournament, kwargs={'pk': team.id}), }) team_table.add_column("Feedbacks", team_feedback_data) adjs = tournament.adjudicator_set.all() adj_table = TabbycatTableBuilder( view=self, title='From Adjudicators', sort_key='Feedbacks') adj_table.add_adjudicator_columns(adjs) adj_feedback_data = [] for adj in adjs: count = AdjudicatorFeedback.objects.filter( source_adjudicator__adjudicator=adj).select_related( 'source_adjudicator__adjudicator').count() adj_feedback_data.append({ 'text': "{:d} Feedbacks".format(count), 'link': reverse_tournament('adjfeedback-view-from-adjudicator', tournament, kwargs={'pk': adj.id}), }) adj_table.add_column("Feedbacks", adj_feedback_data) return [team_table, adj_table]
def get_table(self): table = TabbycatTableBuilder(view=self, sort_key='name') table.add_adjudicator_columns(self.tournament.adjudicator_set.filter(breaking=True)) return table