Skip to content
Snippets Groups Projects
Commit bccfd204 authored by Martin Mareš's avatar Martin Mareš
Browse files

Z uložených výsledkovek vedou odkazy na diplomy

parent d011ad72
No related branches found
No related tags found
No related merge requests found
......@@ -303,6 +303,7 @@ def org_score_snapshots(ct_id: int):
sess = db.get_session()
scoretables = sess.query(db.ScoreTable).filter_by(contest_id=ctx.master_contest.contest_id).all()
cset = sess.query(db.CertSet).filter_by(contest_id=ctx.master_contest.contest_id).one_or_none()
snapshot_form: Optional[ScoreSnapshotForm] = None
set_final_form: Optional[SetFinalScoretableForm] = None
......@@ -359,7 +360,8 @@ def org_score_snapshots(ct_id: int):
'org_score_snapshots.html',
ctx=ctx,
scoretables=scoretables,
set_final_form=set_final_form
set_final_form=set_final_form,
cset=cset,
)
......@@ -395,6 +397,8 @@ def org_score_snapshot(ct_id: int, scoretable_id: int):
if not scoretable or scoretable.contest_id != ctx.master_contest.contest_id:
raise werkzeug.exceptions.NotFound()
cset = sess.query(db.CertSet).filter_by(contest_id=ctx.master_contest.contest_id).one_or_none()
columns, table_rows, _ = scoretable_construct(scoretable)
# columns.append(Column(key='order_key', name='order_key', title='Třídící klíč'))
......@@ -414,6 +418,7 @@ def org_score_snapshot(ct_id: int, scoretable_id: int):
table=table,
set_final_form=SetFinalScoretableForm() if ctx.rights.have_right(Right.manage_contest) else None,
scoretable=scoretable,
cset=cset,
)
else:
return table.send_as(format)
{% extends "base.html" %}
{% set master_ct_id = ctx.master_contest.contest_id %}
{% block title %}
{{ ctx.round.round_code() }}: Uložená verze výsledkové listiny pro {{ ctx.round.name|lower }} kategorie {{ ctx.round.category }} {{ ctx.contest.place.name_locative() }}
......@@ -22,30 +23,40 @@
{% block body %}
{% if set_final_form %}
<form method="POST" action="{{ ctx.url_for('org_score_snapshots') }}" class="pull-right">
<form method="POST" action="{{ ctx.url_for('org_score_snapshots') }}">
{{ set_final_form.csrf_token }}
<input type="hidden" name="back_url" value="{{ ctx.url_for('org_score_snapshot', scoretable_id=scoretable.scoretable_id) }}">
<input type="hidden" name="scoretable_id" value="{{ scoretable.scoretable_id }}">
<div class="btn-group pull-right">
{% if cset and cset.scoretable_id == scoretable.scoretable_id %}
<a class="btn btn-default" href="{{ ctx.url_for('org_certificates', contest_id=master_ct_id) }}">Zobrazit diplomy</a>
{% endif %}
{% if ctx.master_contest.scoretable_id == scoretable.scoretable_id %}
{% if not cset or cset.scoretable_id is none %}
<a class="btn btn-primary" href="{{ ctx.url_for('org_certificates', contest_id=master_ct_id) }}">Vydat diplomy</a>
{% elif cset and cset.scoretable_id != scoretable.scoretable_id %}
<a class="btn btn-success" href="{{ ctx.url_for('org_certificates', contest_id=master_ct_id) }}">Aktualizovat diplomy</a>
{% endif %}
<input type="submit" name="submit_hide" class="btn btn-danger" value="Zrušit zveřejnění">
{% else %}
<input type="hidden" name="scoretable_id" value="{{ scoretable.scoretable_id }}">
<input type="submit" name="submit_set_final" class="btn btn-primary" value="Zveřejnit tuto verzi">
{% endif %}
</div>
</form>
{% endif %}
{% if ctx.rights.have_right(Right.view_contestants) %}
<p>Výsledková listina odpovídající stavu k {{ scoretable.created_at|timeformat }}.
<p>Výsledková listina odpovídající stavu k {{ scoretable.created_at|timeformat }}.</p>
{% if scoretable.scoretable_id == ctx.master_contest.scoretable_id %}
<strong>Tato verze je zveřejněna jako oficiální výsledková listina.</strong>
<p><strong>Tato verze je zveřejněna jako oficiální výsledková listina.</strong></p>
{% else %}
Tato verze není zveřejněna jako oficiální výsledková listina.
<p>Tato verze není zveřejněna jako oficiální výsledková listina.
{% if ctx.master_contest.scoretable_id == None %}
Zkontrolujte ji prosím{% if scoretable.pdf_file %} (včetně <a href="{{ ctx.url_for('org_score_snapshot_pdf', scoretable_id=scoretable.scoretable_id) }}">PDF</a>){% endif %} a zveřejněte.
{% endif %}
{% endif %}
</p>
{% endif %}
{% endif %}
<table class='data'>
<tr><td>Vygenerováno<th>{{ scoretable.created_at|timeformat }}
......
{% extends "base.html" %}
{% set master_ct_id = ctx.master_contest.contest_id %}
{% block title %}
{{ ctx.round.round_code() }}: Uložené výsledkové listiny {{ ctx.round.name|lower }} kategorie {{ ctx.round.category }} {{ ctx.contest.place.name_locative() }}
......@@ -24,11 +25,17 @@
</tr>
</thead>
{% for scoretable in scoretables %}
<tr {% if ctx.master_contest.scoretable_id == scoretable.scoretable_id %}class="active"{% endif %}>
{% set is_official = ctx.master_contest.scoretable_id == scoretable.scoretable_id %}
<tr {% if is_official %}class="active"{% endif %}>
<td>{{ scoretable.created_at|timeformat }}
<td>{{ scoretable.user|user_link }}
<td>{{ scoretable.note }}
<td>{% if ctx.master_contest.scoretable_id == scoretable.scoretable_id %}<strong>Zveřejněná verze</strong><br>{% endif %}
<td>
{% if is_official %}
<strong>Zveřejněná verze</strong><br>
{% elif cset and cset.scoretable == scoretable %}
<strong>Verze, z níž jsou vygenerovány diplomy</strong><br>
{% endif %}
<div class="btn-group">
<a class="btn btn-xs btn-primary" href="{{ ctx.url_for('org_score_snapshot', scoretable_id=scoretable.scoretable_id) }}">Zobrazit</a>
{% if scoretable.pdf_file %}
......@@ -37,7 +44,7 @@
{% if set_final_form %}
<form method="POST" class="btn-group">
{{ set_final_form.csrf_token }}
{% if ctx.master_contest.scoretable_id == scoretable.scoretable_id %}
{% if is_official %}
<input type="submit" name="submit_hide" class="btn btn-xs btn-danger" value="Zrušit zveřejnění">
{% else %}
<input type="hidden" name="scoretable_id" value="{{ scoretable.scoretable_id }}">
......@@ -45,6 +52,13 @@
{% endif %}
</form>
{% endif %}
{% if cset and cset.scoretable == scoretable %}
<a class="btn btn-xs btn-default" href="{{ ctx.url_for('org_certificates', contest_id=master_ct_id) }}">Zobrazit diplomy</a>
{% elif cset and cset.scoretable is not none and is_official %}
<a class="btn btn-xs btn-success" href="{{ ctx.url_for('org_certificates', contest_id=master_ct_id) }}">Aktualizovat diplomy</a>
{% elif is_official %}
<a class="btn btn-xs btn-primary" href="{{ ctx.url_for('org_certificates', contest_id=master_ct_id) }}">Vydat diplomy</a>
{% endif %}
</div>
</tr>
{% endfor %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment