Skip to content
Snippets Groups Projects
Select Git revision
  • b7137b520984a387493fe259ebc5be58b475e388
  • devel default
  • master
  • fo
  • jirka/typing
  • fo-base
  • mj/submit-images
  • jk/issue-96
  • jk/issue-196
  • honza/add-contestant
  • honza/mr7
  • honza/mrf
  • honza/mrd
  • honza/mra
  • honza/mr6
  • honza/submit-images
  • honza/kolo-vs-soutez
  • jh-stress-test-wip
  • shorten-schools
19 results

user_contest.html

Blame
  • 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 %}