Пример #1
0
    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
Пример #2
0
    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]
Пример #3
0
    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]
Пример #4
0
    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
Пример #5
0
    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
Пример #6
0
    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]
Пример #7
0
 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
Пример #8
0
 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
Пример #9
0
 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
Пример #10
0
    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]
Пример #11
0
    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]
Пример #12
0
    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
Пример #13
0
    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]
Пример #14
0
 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
Пример #15
0
    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]
Пример #16
0
    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
Пример #17
0
    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]
Пример #18
0
    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]
Пример #19
0
 def get_table(self):
     table = TabbycatTableBuilder(view=self, sort_key='name')
     table.add_adjudicator_columns(self.tournament.adjudicator_set.filter(breaking=True))
     return table