Select Git revision
org_contest.html
-
Martin Mareš authoredMartin Mareš authored
org_round.html 6.40 KiB
{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}{{ round.name }} {{ round.round_code() }}{% endblock %}
{% block breadcrumbs %}
{{ contest_breadcrumbs(round=round) }}
{% endblock %}
{% block body %}
<table class=data style="float: left; margin-right: 10px;">
<thead>
<tr><th colspan=2>Parametry kola <i>(nelze editovat)</i>
</thead>
<tr><td>Ročník<td>{{ round.year }}
<tr><td>Kategorie<td>{{ round.category }}
<tr><td>Pořadí<td>{{ round.seq }}
{% if round.part > 0 %}<tr><td>Část<td>{{ round.part_code() }}{% endif %}
<tr><td>Oblast<td>{{ level_names[round.level] }}
<tr><td>Vaše role<td>{% if g.user.is_admin %}správce{% elif roles %}{{ roles|join(", ") }}{% else %}–{% endif %}
{% if group_rounds|length > 1 %}
<tr><td>Skupina kol:<td>
{% for r in group_rounds %}
{% if r == round %}<i>{{ r.name }} {{ r.round_code() }} (toto kolo)</i><br>
{% else %}<a href="{{ url_for('org_round', id=r.round_id) }}">{{ r.name }} {{ r.round_code() }}</a><br>
{% endif %}
{% endfor %}
{% endif %}
<thead>
<tr><th colspan=2>Základní nastavení
</thead>
<tr><td>Název<td>{{ round.name }}
<tr><td>Stav<td class='rstate-{{round.state.name}}'>{{ round.state.friendly_name() }}
{% with state=round.ct_state() %}
<tr><td>Stav pro účastníky<td class='rstate-{{state.name}}'>{{ state.friendly_name() }}
{% endwith %}
</table>
<table class=data style="float: left;">
<thead>
<tr><th colspan=2>Termíny
</thead>
<tr><td>Účastníci vidí zadání od<td>{{ round.ct_tasks_start|time_and_timedelta }}
<tr><td>Účastníci odevzdávají do<td>{{ round.ct_submit_end|time_and_timedelta }}
<tr><td>Dozor vidí zadání od<td>{{ round.pr_tasks_start|time_and_timedelta }}
<tr><td>Dozor odevzdává do<td>{{ round.pr_submit_end|time_and_timedelta }}
<tr><td>Zadání<td>
{% if round.tasks_file %}
{% if can_view_statement %}
<a href='{{ url_for('org_task_statement', id=round.round_id) }}'>stáhnout</a>
{% else %}
není dostupné
{% endif %}
{% else %}
–
{% endif %}
<thead>
<tr><th colspan=2>Nastavení výsledkové listiny{% if round.is_subround() %}
<i>(přejato z <a href="{{ url_for('org_round', id=round.master.round_id) }}">{{ round.master.round_code() }}</a>)</i>
{% endif %}
</thead>
<tr><td>Výsledková listina<td>{{ round.master.score_mode.friendly_name() }}
<tr><td>Hranice bodů pro vítěze<td>{{ round.master.score_winner_limit|none_value(Markup('<i>nenastaveno</i>')) }}
<tr><td>Hranice bodů pro úspěšné řešitele<td>{{ round.master.score_successful_limit|none_value(Markup('<i>nenastaveno</i>')) }}
</table>
<div style="clear: both;"></div>
<div class="btn-group">
<a class="btn btn-primary" href='{{ url_for('org_round_list', id=round.round_id) }}'>Seznam účastníků</a>
{% if round.state in [RoundState.grading, RoundState.closed, RoundState.delegate] %}
<a class="btn btn-primary" href='{{ url_for('org_score', round_id=round.round_id) }}'>Výsledky</a>
{% endif %}
{% if can_manage_contestants %}
<a class="btn btn-default" href='{{ url_for('org_round_import', id=round.round_id) }}'>Importovat data</a>
{% endif %}
{% if can_manage_round %}
<a class="btn btn-default" href='{{ url_for('org_round_edit', id=round.round_id) }}'>Nastavení a termíny</a>
{% endif %}
{% if round.has_messages %}
<a class="btn btn-default" href='{{ url_for('org_round_messages', id=round.round_id) }}'>Zprávičky</a>
{% endif %}
{% if g.user.is_admin %}
<a class="btn btn-default" href='{{ log_url('round', round.round_id) }}'>Historie</a>
{% endif %}
</div>
<h3>Soutěže</h3>
{% if contests_counts %}
<table class=data>
<thead>
<tr>
<th>Soutěžní oblast
<th>Stav
<th>Počet účastníků
</tr>
</thead>
{% for (c, count) in contests_counts %}
<tr>
<td><a href='{{ url_for('org_contest', id=c.contest_id) }}'>{{ c.place.name }}</a>
{% with state=c.state %}
<td class='rstate-{{state.name}}'>{{ state.friendly_name() }}
{% endwith %}
<td>{{ count }}
{% endfor %}
<tfoot>
<tr>
<th>Celkem
<th>
<th>{{ contests_counts|sum(attribute=1) }}
</tr>
</tfoot>
</table>
{% else %}
<p>Zatím nebyly založeny v žádné oblasti.
{% endif %}
{% if can_add_contest %}
<form action="" method="POST" class="form-inline">
{{ form_add_contest.csrf_token() }}
{{ wtf.form_field(form_add_contest.place_code) }}
{{ wtf.form_field(form_add_contest.create_contest) }}
</form>
{% endif %}
<h3>Úlohy</h3>
{% if tasks %}
<table class=data>
<thead>
<tr>
<th>Kód
<th>Název
<th>Odevzdaná řešení
<th>Maximum bodů
{% if can_manage_round %}<th>Akce{% endif %}
{% if can_handle_submits or can_upload %}<th>Dávkové operace{% endif %}
</tr>
</thead>
{% for task in tasks %}
<tr>
<td>{{ task.code }}
<td>{{ task.name }}
<td>{{ task.sol_count }}
<td>{{ task.max_points|none_value('–') }}
{% if can_manage_round %}
<td><div class="btn-group">
<a class="btn btn-xs btn-primary" href="{{ url_for('org_round_task_edit', id=round.round_id, task_id=task.task_id) }}">Editovat</a>
{% if task.sol_count == 0 %}
<form action="" method="POST" onsubmit="return confirm('Opravdu nenávratně smazat?')" class="btn-group">
{{ form_delete_task.csrf_token() }}
<input type="hidden" name="delete_task_id" value="{{ task.task_id }}">
<button type="submit" class="btn btn-xs btn-danger">Smazat</button>
</form>
{% endif %}
{% if g.user.is_admin %}
<a class="btn btn-xs btn-default" href="{{ log_url('task', task.task_id) }}">Historie</a>
{% endif %}
</div>
{% endif %}
{% if can_handle_submits or can_upload %}
<td><div class="btn-group">
{% if can_handle_submits %}
<a class="btn btn-xs btn-primary" href="{{ url_for('org_round_task_download', round_id=round.round_id, task_id=task.task_id) }}">Stáhnout ZIP</a>
{% endif %}
{% if can_upload %}
<a class="btn btn-xs btn-primary" href="{{ url_for('org_round_task_upload', round_id=round.round_id, task_id=task.task_id) }}">Nahrát ZIP</a>
{% endif %}
{% if can_upload %}
<a class="btn btn-xs btn-default" href="{{ url_for('org_round_task_batch_points', round_id=round.round_id, task_id=task.task_id) }}">Nahrát body</a>
{% endif %}
</div>
{% endif %}
</tr>
{% endfor %}
</table>
{% else %}
<p>Zatím nebyly přidány žádné úlohy.</p>
{% endif %}
{% if can_manage_round %}
<a class="btn btn-primary right-float" href="{{ url_for('org_round_task_new', id=round.round_id) }}">Nová úloha</a>
{% endif %}
{% endblock %}