Skip to content
Snippets Groups Projects

Účastnická část webu podporuje všechny stavy kola

Merged Jiří Setnička requested to merge jirka/user-all-states into devel
All threads resolved!
4 files
+ 59
36
Compare changes
  • Side-by-side
  • Inline
Files
4
  • * připravuje se: Je vidět jen informace o tom, že kolo bude (případně i s datem
      zveřejnění zadání, pokud je zadané.
    * běží: Pokud ještě nenastal čas zveřejnění zadání, tak je podobné jako
      'připravuje se' jen s jinou zprávou. Jinak zobrazuje vše a umožňuje
      odevzdávat (a pokud už je po termínu, zobrazuje varování).
    * opravuje se: Jsou vidět všechny odevzdané úlohy, ale nelze odevzdávat
      další.
    * ukončeno: Jako opravuje se, ale v tabulce jsou vidět i body a
      opravená řešení. Obsahuje FIXME: výsledkovka.
@@ -6,28 +6,52 @@
<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|timeformat }} ({{ human_timedelta(round.ct_tasks_start, g.now) }})</b>{% endif %}.
Až začne, budete mít na této stránce {% if round.has_tasks() %}k dispozici 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.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|timeformat }} ({{ human_timedelta(round.ct_tasks_start, g.now) }})</b>.
Až začne, budete mít na této stránce {% if round.has_tasks() %}k dispozici 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>Soutěž běží.
{% if round.ct_submit_end == None %}
Můžete odevzdávat svá řešení.
{% else %}
Svá řešení odevzdávejte do {{ round.ct_submit_end|timeformat }}.
V případě technických problémů můžete odevzdat i později,
ale není zaručeno, že řešení budou hodnocena.
{% endif %}
<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|timeformat }} ({{ human_timedelta(round.ct_submit_end, g.now) }})</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|timeformat }}, {{ human_timedelta(round.ct_submit_end, g.now) }}),
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.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>FIXME
<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 statement_visible %}
{% 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 %}
@@ -41,9 +65,8 @@
{% if round.state == db.RoundState.closed %}
<th>Opraveno
<th>Body
{% else %}
<th>Akce
{% endif %}
<th>Akce
<tbody>
{% for task, sol in task_sols %}
<tr>
@@ -60,13 +83,13 @@
<td>
{% endif %}
<td>{{ sol.points if sol.points != None else '–' }}
{% else %}
<td>
{% if round.state == db.RoundState.running %}
<a class='btn btn-xs btn-primary' href='{{ url_for('user_contest_task', contest_id=contest.contest_id, task_id=task.task_id) }}'>Odevzdat</a>
{% endif %}
{% 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.can_submit() %}Odevzdat{% else %}Detail úlohy{% endif %}
</a>
{% endfor %}
</table>
{% endif %}
{% endblock %}
Loading