From 39eae81d0fce2a9acbaa550932d4868ae9948184 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Mon, 12 Apr 2021 16:46:39 +0200 Subject: [PATCH] =?UTF-8?q?Export=20seznamu=20=C3=BA=C4=8Dastn=C3=ADk?= =?UTF-8?q?=C5=AF=20uv=C3=A1d=C3=AD=20i=20user=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... aby bylo možné zkonstruovat bodovací tabulku bez stahování vzoru a matchování účastníků podle jmen. Hodí se v MO-P. Closes #202. --- mo/web/org_contest.py | 13 ++++++++----- mo/web/org_round.py | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py index d5710d50..f9bdb12c 100644 --- a/mo/web/org_contest.py +++ b/mo/web/org_contest.py @@ -480,7 +480,7 @@ def org_contest_list(id: int, site_id: Optional[int] = None): filter=filter, count=count, action_form=action_form, ) else: - table = make_contestant_table(query) + table = make_contestant_table(query, is_export=True) return table.send_as(format) @@ -535,7 +535,7 @@ def get_contestants_query( return query -def make_contestant_table(query: Query, add_checkbox: bool = False, add_contest_column: bool = False): +def make_contestant_table(query: Query, add_checkbox: bool = False, add_contest_column: bool = False, is_export: bool = False): ctants = query.all() rows: List[Row] = [] @@ -550,6 +550,7 @@ def make_contestant_table(query: Query, add_checkbox: bool = False, add_contest_ rows.append(Row( keys={ 'sort_key': u.sort_key(), + 'user_id': u.user_id, 'first_name': cell_pion_link(u, pion.contest_id, u.first_name), 'last_name': cell_pion_link(u, pion.contest_id, u.last_name), 'email': cell_email_link(u), @@ -567,11 +568,13 @@ def make_contestant_table(query: Query, add_checkbox: bool = False, add_contest_ rows.sort(key=lambda r: r.keys['sort_key']) - cols: Sequence[Column] = contest_list_columns + cols: List[Column] = list(contest_list_columns) if add_checkbox: - cols = [Column(key='checkbox', name=' ', title=' ')] + list(cols) + cols = [Column(key='checkbox', name=' ', title=' ')] + cols if add_contest_column: - cols = list(cols) + [Column(key='region_code', name='kod_oblasti', title='Oblast')] + cols.append(Column(key='region_code', name='kod_oblasti', title='Oblast')) + if is_export: + cols.append(Column(key='user_id', name='user_id')) return Table( columns=cols, diff --git a/mo/web/org_round.py b/mo/web/org_round.py index 8d8b16ff..c0c69847 100644 --- a/mo/web/org_round.py +++ b/mo/web/org_round.py @@ -389,7 +389,7 @@ def org_round_list(id: int): filter=filter, count=count, action_form=action_form, ) else: - table = make_contestant_table(query) + table = make_contestant_table(query, is_export=True) return table.send_as(format) -- GitLab