From 7fd93c0e1573e213106a7b8d84bebea8c8d198f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Setni=C4=8Dka?= <setnicka@seznam.cz>
Date: Sat, 19 Feb 2022 20:02:21 +0100
Subject: [PATCH] =?UTF-8?q?V=C3=BDsledkovky=20a=20seznamy=20=C3=BA=C4=8Das?=
=?UTF-8?q?tn=C3=ADk=C5=AF:=20Exporty=20um=C3=AD=20volit=20sloupce=20pro?=
=?UTF-8?q?=20export?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Issue #182
---
mo/web/org_contest.py | 4 ++--
mo/web/org_score.py | 12 ++++++++----
mo/web/templates/org_generic_list.html | 8 ++++++++
3 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py
index 355c4721..fccf0413 100644
--- a/mo/web/org_contest.py
+++ b/mo/web/org_contest.py
@@ -552,7 +552,7 @@ def org_generic_list(round_id: Optional[int] = None, hier_id: Optional[int] = No
)
else:
table = make_contestant_table(query, round)
- return table.send_as(format)
+ return table.send_as(format, args=request.args)
contest_list_columns = (
@@ -641,7 +641,7 @@ def make_contestant_table(query: Query, round: db.Round, add_checkbox: bool = Fa
cols: List[Column] = list(contest_list_columns)
if add_checkbox:
- cols = [Column(key='checkbox', name=' ', title=' ')] + cols
+ cols = [Column(key='checkbox', name=' ', title=' ', in_export=None)] + cols
if add_contest_column:
cols.append(Column(key='region_code', name='kod_oblasti', title=round.get_level().name.title()))
diff --git a/mo/web/org_score.py b/mo/web/org_score.py
index c4ecdb76..4f6eafef 100644
--- a/mo/web/org_score.py
+++ b/mo/web/org_score.py
@@ -144,11 +144,13 @@ def org_score(round_id: Optional[int] = None, hier_id: Optional[int] = None, ct_
columns = [
Column(key='order', name='poradi', title='Pořadí'),
Column(key='status', name='stav', title='Stav (vítěz, …)', in_html=False),
- Column(key='participant', name='ucastnik', title='Účastník'),
+ Column(key='participant', name='ucastnik', title='Účastník', in_export=False),
+ Column(key='first_name', name='krestni', title='Křestní jméno', in_html=False),
+ Column(key='last_name', name='prijmeni', title='Příjmení', in_html=False),
Column(key='email', name='email', title='E-mail', in_html=False),
]
if not ct_id:
- columns.append(Column(key='contest', name='oblast', title=round.get_level().name.title()))
+ columns.append(Column(key='contest', name='oblast', title='Soutěžní ' + round.get_level().name))
columns.extend([
Column(key='pion_place', name='soutezni_misto', title='Soutěžní místo', in_html=False),
Column(key='school', name='skola', title='Škola'),
@@ -171,7 +173,7 @@ def org_score(round_id: Optional[int] = None, hier_id: Optional[int] = None, ct_
columns.append(Column(key='total_points', name='celkove_body', title='Celkové body'))
if is_edit:
columns.append(Column(key='suborder', name='zjednoznacneni_poradi', title='Zjednoznačnění'))
- # columns.append(Column(key='order_key', name='order_key', title='Třídící klíč'))
+ columns.append(Column(key='order_key', name='order_key', title='Třídící klíč', in_html=False, in_export=False))
# Construct rows
table_rows = []
@@ -197,6 +199,8 @@ def org_score(round_id: Optional[int] = None, hier_id: Optional[int] = None, ct_
'order': order_cell,
'status': status,
'user': user,
+ 'first_name': user.first_name,
+ 'last_name': user.last_name,
'email': user.email,
'participant': cell_pion_link(user, local_pion_ct_id, user.full_name()),
'contest': CellLink(pion.contest.place.name or "?", url_for('org_contest', ct_id=pion.contest_id)),
@@ -253,7 +257,7 @@ def org_score(round_id: Optional[int] = None, hier_id: Optional[int] = None, ct_
edit_form=edit_form, snapshot_form=snapshot_form,
)
else:
- return table.send_as(format)
+ return table.send_as(format, args=request.args)
class SetFinalScoretableForm(FlaskForm):
diff --git a/mo/web/templates/org_generic_list.html b/mo/web/templates/org_generic_list.html
index 379c7a3a..40785f47 100644
--- a/mo/web/templates/org_generic_list.html
+++ b/mo/web/templates/org_generic_list.html
@@ -63,6 +63,14 @@
Celkem <b>{{count|inflected('nalezený účastník', 'nalezení účastníci', 'nalezených účastníků')}}</b>.
{% endif %}
</div>
+ <div class="form-row">
+ <div class="collapsible"><input type="checkbox" class="toggle" id="column-selection-toggle">
+ <label for="column-selection-toggle" class="toggle toggle-small">Vybrat sloupce pro stažení</label>
+ <div class="collapsible-inner"><div class="form-frame">
+ {{ table.get_columns_checkboxes(line_prefix="\t\t\t\t", args=request.args) }}
+ </div></div>
+ </div>
+ </div>
</form>
</div>
--
GitLab