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

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

parent fc473bc4
No related branches found
No related tags found
1 merge request!137Sazba diplomů
...@@ -303,6 +303,7 @@ def org_score_snapshots(ct_id: int): ...@@ -303,6 +303,7 @@ def org_score_snapshots(ct_id: int):
sess = db.get_session() sess = db.get_session()
scoretables = sess.query(db.ScoreTable).filter_by(contest_id=ctx.master_contest.contest_id).all() 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 snapshot_form: Optional[ScoreSnapshotForm] = None
set_final_form: Optional[SetFinalScoretableForm] = None set_final_form: Optional[SetFinalScoretableForm] = None
...@@ -359,7 +360,8 @@ def org_score_snapshots(ct_id: int): ...@@ -359,7 +360,8 @@ def org_score_snapshots(ct_id: int):
'org_score_snapshots.html', 'org_score_snapshots.html',
ctx=ctx, ctx=ctx,
scoretables=scoretables, 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): ...@@ -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: if not scoretable or scoretable.contest_id != ctx.master_contest.contest_id:
raise werkzeug.exceptions.NotFound() 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, table_rows, _ = scoretable_construct(scoretable)
# 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íč'))
...@@ -414,6 +418,7 @@ def org_score_snapshot(ct_id: int, scoretable_id: int): ...@@ -414,6 +418,7 @@ def org_score_snapshot(ct_id: int, scoretable_id: int):
table=table, table=table,
set_final_form=SetFinalScoretableForm() if ctx.rights.have_right(Right.manage_contest) else None, set_final_form=SetFinalScoretableForm() if ctx.rights.have_right(Right.manage_contest) else None,
scoretable=scoretable, scoretable=scoretable,
cset=cset,
) )
else: else:
return table.send_as(format) return table.send_as(format)
{% extends "base.html" %} {% extends "base.html" %}
{% set master_ct_id = ctx.master_contest.contest_id %}
{% block title %} {% 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() }} {{ 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 @@ ...@@ -22,30 +23,40 @@
{% block body %} {% block body %}
{% if set_final_form %} {% 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 }} {{ 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="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 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í"> <input type="submit" name="submit_hide" class="btn btn-danger" value="Zrušit zveřejnění">
{% else %} {% 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"> <input type="submit" name="submit_set_final" class="btn btn-primary" value="Zveřejnit tuto verzi">
{% endif %} {% endif %}
</div>
</form> </form>
{% endif %} {% endif %}
{% if ctx.rights.have_right(Right.view_contestants) %} {% 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 %} {% 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 %} {% 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 %} {% 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. 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 %}
{% endif %}
</p> </p>
{% endif %} {% endif %}
{% endif %}
<table class='data'> <table class='data'>
<tr><td>Vygenerováno<th>{{ scoretable.created_at|timeformat }} <tr><td>Vygenerováno<th>{{ scoretable.created_at|timeformat }}
......
{% extends "base.html" %} {% extends "base.html" %}
{% set master_ct_id = ctx.master_contest.contest_id %}
{% block title %} {% block title %}
{{ ctx.round.round_code() }}: Uložené výsledkové listiny {{ ctx.round.name|lower }} kategorie {{ ctx.round.category }} {{ ctx.contest.place.name_locative() }} {{ 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 @@ ...@@ -24,11 +25,17 @@
</tr> </tr>
</thead> </thead>
{% for scoretable in scoretables %} {% 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.created_at|timeformat }}
<td>{{ scoretable.user|user_link }} <td>{{ scoretable.user|user_link }}
<td>{{ scoretable.note }} <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"> <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> <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 %} {% if scoretable.pdf_file %}
...@@ -37,7 +44,7 @@ ...@@ -37,7 +44,7 @@
{% if set_final_form %} {% if set_final_form %}
<form method="POST" class="btn-group"> <form method="POST" class="btn-group">
{{ set_final_form.csrf_token }} {{ 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í"> <input type="submit" name="submit_hide" class="btn btn-xs btn-danger" value="Zrušit zveřejnění">
{% else %} {% else %}
<input type="hidden" name="scoretable_id" value="{{ scoretable.scoretable_id }}"> <input type="hidden" name="scoretable_id" value="{{ scoretable.scoretable_id }}">
...@@ -45,6 +52,13 @@ ...@@ -45,6 +52,13 @@
{% endif %} {% endif %}
</form> </form>
{% endif %} {% 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> </div>
</tr> </tr>
{% endfor %} {% endfor %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment