Select Git revision
user_contest.html

Martin Mareš authored
user_contest.html 3.69 KiB
{% extends "base.html" %}
{% block body %}
{% set round = contest.round %}
{% set state = round.state %}
<h2>{{ round.name }} {{ round.year }}. ročníku kategorie {{ round.category }}: {{ contest.place.name }}</h2>
{% if state == db.RoundState.preparing %}
<p>
Soutěžní kolo se <b>připravuje</b>{% if round.ct_tasks_start and round.ct_tasks_start > g.now %},
začne <b>{{ round.ct_tasks_start|time_and_timedelta }}</b>{% endif %}.
Až začne, uvidíte na této stránce {% if round.has_tasks() %}text zadání,{% endif %}
přehled úloh a budete zde moci odevzdat svá řešení k jednotlivým úlohám.
Do té doby zde nenajdete nic jiného.
</p>
{% elif state == db.RoundState.running and not round.ct_can_submit() %}
<p>
Soutěžní kolo <b>je připraveno</b>, ale zatím nelze odevzdávat. Odevzdávání začne
<b>{{ round.ct_tasks_start|time_and_timedelta }}</b>.
Až začne, uvidíte na této stránce {% if round.has_tasks() %}text zadání,{% endif %}
přehled úloh a budete zde moci odevzdat svá řešení k jednotlivým úlohám.
Do té doby zde nenajdete nic jiného.
</p>
{% else %}
{% if state == db.RoundState.running %}
<p>
{% if round.ct_submit_end == None %}
Soutěžní kolo běží, <b>můžete odevzdávat svá řešení.</b>
{% elif round.ct_submit_end > g.now %}
Soutěžní kolo běží, <b>svá řešení odevzdávejte do {{ round.ct_submit_end|time_and_timedelta }}</b>.
V případě technických problémů můžete odevzdat i později, ale není zaručeno, že řešení budou hodnocena.
{% else %}
Řádný termín soutěžního kola <b>již skončil</b> v {{ round.ct_submit_end|time_and_timedelta }},
ale stále můžete odevzdat svá řešení, která se vám nepovedla odevzdat kvůli
technickým problémům. Není však zaručeno, že řešení budou hodnocena.
{% endif %}
</p>
{% if round.ct_can_submit() %}
<p>Řešení odevzdávejte ve formátu PDF jako soubor o velikosti maximálně
{{ max_submit_size // 1048576 }} MB.
{% endif %}
{% elif state == db.RoundState.grading %}
<p>Odevzdávání bylo ukončeno. Vyčkejte prosím, až úlohy opravíme.
{% elif state == db.RoundState.closed %}
<p>Soutěžní kolo bylo ukončeno, níže si můžete prohlédnout svá ohodnocená a okomentovaná řešení.
<p>FIXME výsledkovka
{% else %}
<p>Soutěž se nachází v neznámém stavu. To by se nemělo stát :)
{% endif %}
{% if round.task_statement_available() %}
<p>Můžete si stáhnout <a href='{{ url_for('user_task_statement', id=contest.contest_id) }}'>zadání úloh</a>.
{% endif %}
<h3>Úlohy</h3>
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>Úloha
<th>Odevzdáno
{% if round.state == db.RoundState.closed %}
<th>Opraveno
<th>Body
{% endif %}
<th>Akce
<tbody>
{% for task, sol in task_sols %}
<tr>
<td>{{ task.code }}: {{ task.name }}
{% if sol.final_submit_obj %}
<td><a href='{{ url_for('user_paper', id=sol.final_submit_obj.paper_id) }}'>{{- sol.final_submit_obj.uploaded_at|timeformat }} ({{ sol.final_submit_obj.pages|inflected('strana', 'strany', 'stran') }})</a>
{% else %}
<td>
{% endif %}
{% if round.state == db.RoundState.closed %}
{% if sol.final_feedback_obj %}
<td><a href='{{ url_for('user_paper', id=sol.final_feedback_obj.paper_id) }}'>{{ (sol.final_feedback_obj.uploaded_at if sol.final_feedback_obj else None)|timeformat }}</a>
{% else %}
<td>
{% endif %}
<td>{{ sol.points if sol.points != None else '–' }}
{% endif %}
<td>
<a class='btn btn-xs btn-primary' href='{{ url_for('user_contest_task', contest_id=contest.contest_id, task_id=task.task_id) }}'>
{% if round.ct_can_submit() %}Odevzdat{% else %}Detail úlohy{% endif %}
</a>
{% endfor %}
</table>
{% endif %}
{% endblock %}