Select Git revision
org_index.html
org_score.html 5.72 KiB
{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% set round = ctx.round %}
{% set contest = ctx.contest %}
{% block title %}
{{ round.round_code() }}: Výsledky pro {{ round.name|lower }} kategorie {{ round.category }}{% if contest %} {{ contest.place.name_locative() }}{% endif %}
{% if ctx.hier_place %} ({{ ctx.hier_place.name_locative() }}){% endif %}
{% if not contest and round.level > 0 %}
(všechny {{ place_levels[round.level].name_pl }})
{% endif %}
{% endblock %}
{% block breadcrumbs %}
{{ ctx.breadcrumbs(action="Výsledky oblasti" if contest else "Výsledky kola") }}
{% endblock %}
{% block pretitle %}
<div class="btn-group pull-right">
{% if contest %}
<a class="btn btn-default" href="{{ ctx.url_for('org_contest_solutions') }}">Odevzdaná řešení</a>
<a class="btn btn-default" href="{{ ctx.url_for('org_score', ct_id=None) }}">Výsledky kola</a>
{% endif %}
</div>
{% endblock %}
{% block body %}
{% if messages %}
<div class="collapsible">
{% set error_count = messages | selectattr(0, "equalto", "error") | list | count %}
<input type="checkbox" class="toggle" id="messages-toggle">
<label for="messages-toggle" class="toggle">
Log vytváření výsledkové listiny ({{ messages|length|inflected('zpráva', 'zprávy', 'zpráv') }}
{%- if error_count > 0 %}, <span class="error">{{ error_count|inflected('chyba', 'chyby', 'chyb') }}</span>{% endif %})
</label>
<div class="collapsible-inner">
<div class="alert alert-warning">
<ul>
{% for (type, msg) in messages %}
{% if type == "error" %}<li class="error"><b>Chyba: {{ msg }}</b>
{% elif type == "warning" %}<li>Varování: {{ msg }}
{% else %}<li class="text-info">Info: {{ msg }}{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
{% endif %}
{% if group_rounds|length > 1 %}
<p>Toto je <b>společná výsledková listina</b> pro skupinu kol:
{% for r in group_rounds %}{% if loop.index > 1 %}, {% endif %}<a href="{{ url_for('org_round', round_id=r.round_id) }}">{{ r.round_code() }} {{ r.name }}</a>{% endfor %}.
Jsou v ní započítány body ze všech úloh ve skupině kol.</p>
{% endif %}
{% set master = round.master %}
<p>Mód této výsledkové listiny je <b>{{ master.score_mode.friendly_name() }}</b>.
Diskvalifikovaní, odmítnuvší a nepřítomní účastníci jsou skryti, stejně tak testovací uživatelé.
Export pod tabulkou obsahuje sloupce navíc.
Rozkliknutím bodů se lze dostat na detail daného řešení.</p>
{% if master.score_winner_limit is not none or master.score_successful_limit is not none %}
<p>
{% if master.score_winner_limit is not none %}
<b>Vítězi</b> se stávají účastníci s alespoň <b>{{ master.score_winner_limit|decimal }} {{ master.score_winner_limit|inflected_by("bodem", "body", "body") }}</b>.
{% endif %}
{% if master.score_successful_limit is not none %}
<b>Úspěšnými řešiteli</b> se stávají účastníci s alespoň <b>{{ master.score_successful_limit|decimal }} {{ master.score_successful_limit|inflected_by("bodem", "body", "body") }}</b>.
{% endif %}
{% endif %}
{% if contest and (snapshots_count or snapshot_form) %}
<p>
{% if snapshots_count %}
K této výsledkové listině {{ snapshots_count|inflected_by('existuje', 'existují', 'existují')}}
<strong><a href="{{ ctx.url_for('org_score_snapshots') }}">{{ snapshots_count|inflected('uložená verze', 'uložené verze', 'uložených verzí') }}</a></strong>,
{% if contest.scoretable_id %}jedna z nich je{% else %}žádná z nich není{% endif %} vydána jako oficiální výsledková listina.
{% endif %}
{% if snapshot_form %}Uložit současnou verzi výsledkové listiny můžete formulářem na spodku stránky.{% endif %}
{% endif %}
{% if edit_form %}
<p><strong>Zjednoznačnění pořadí:</strong> U soutěžících na sdílených pozicích vyplňte číslo do políčka na konci řádku. Třídí se vzestupně od nejmenšího, prázdné políčko se považuje za nulu.</p>
<form method="POST" class="form form-horizontal" action="">
{{ edit_form.csrf_token }}
{{ wtf.form_field(edit_form.submit, class="btn btn-primary pull-right") }}<br>
{% elif master.score_mode == RoundScoreMode.mo and ctx.rights.have_right(Right.manage_contest) %}
<a class="btn btn-default pull-right" href="{{ ctx.url_for('org_score_edit') }}">Zjednoznačnit pořadí</a><br>
{% endif %}
{{ table.to_html() }}
<div class="collapsible">
<input type="checkbox" class="toggle" id="stats-toggle">
<label for="stats-toggle" class="toggle toggle-small">
Statistiky
</label>
<div class="collapsible-inner">
<ul>
<li>Listina obsahuje celkem {{ num_results|inflected('účastníka', 'účastníky', 'účastníků') }}.
{% if num_results > 0 %}
<li>Průměrné počty bodů za úlohy:
<ul>
{% for t in tasks %}
<li>{{ t.code }}: {{ difficulties[t] }}
{% endfor %}
</ul>
{% endif %}
</ul>
</div>
</div>
{% if edit_form %}
{{ wtf.form_field(edit_form.submit, class="btn btn-primary pull-right") }}
</form>
{% elif master.score_mode == RoundScoreMode.mo and ctx.rights.have_right(Right.manage_contest) %}
<a class="btn btn-default pull-right" href="{{ ctx.url_for('org_score_edit') }}">Zjednoznačnit pořadí</a><br>
{% endif %}
{% if snapshot_form %}
<div class="form-frame" style="margin-top: 20px; padding-top: 0px;">
<h4>Uložit současnou verzi výsledkové listiny</h4>
<p>Uložené verze výsledkové listiny odpovídají stavu k určitému datu. Jedna z nich může být označena jako oficiální a zveřejněna.</p>
<form method="post" action="{{ ctx.url_for('org_score_snapshots') }}" class="form form-inline">
{{ snapshot_form.csrf_token }}
{{ wtf.form_field(snapshot_form.note) }}
<input type="submit" name="submit_snapshot" class="btn btn-primary" value="Uložit současnou verzi">
</form>
</div>
</div>
{% endif %}
{% endblock %}