Skip to content
Snippets Groups Projects
Select Git revision
  • 8af351abc78d1ca0d164babb710dfa1d25dfac52
  • 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

org_solution_table.html

Blame
  • Jiri Kalvoda's avatar
    Jiří Kalvoda authored
    Nahrazuje stávající manuální vytváření hvězdiček pro neaktivní
    uživatele a podbarvení testuserů.
    552bb0c6
    History
    org_solution_table.html 5.21 KiB
    <p><i>
    {% if create_form %}
    Zaškrtnutím políček u řešení, která dosud neexistují, a odesláním tlačítkem pod tabulkou tato řešení založíte.
    To se hodí, pokud se nechystáte do systému nahrávat soubory řešení, ale jen chcete řešení vytvořit, aby jim
    bylo možné vyplnit body. Pokud nějaké řešení založíte omylem, lze toto prázdné řešení smazat v jeho detailu.
    {% else %}
    Historii všech odevzdání, oprav a bodů pro každé řešení naleznete v jeho detailu.
    {% if sc.allow_upload_feedback or sc.allow_edit_points %}Tamtéž můžete odevzdávat nové verze a změnit, které řešení/oprava je
    finální (ve výchozím stavu poslední nahrané).{% elif sc.allow_upload_solutions %}Tamtéž můžete odevzdat nové řešení.{% endif %}
    {% if for_task and sc.allow_create_solutions %} Hromadně založit řešení pro více řešitelů můžete pomocí tlačítek pod tabulkou.{% endif %}
    {% endif %}
    </i></p>
    
    <p><i>Legenda: <span class='sol-warn icon'>⚠</span> odevzdané po termínu,
    	<span class="icon">🛈</span> nahráno někým jiným, než řešitelem, <span class="icon">🗐</span> existuje více verzí. Symboly po najetí myší zobrazí bližší informace.
    </i></p>
    
    <table class="data full">
    	<thead>
    		<tr>
    			<th>{% if for_user %}Úloha{% else %}Účastník{% endif %}
    			{% if for_task %}<th>Stav účasti{% endif %}
    			<th>Finální řešení
    			<th>Finální oprava
    			<th>Poznámky
    			<th>Přidělené body
    				{% if not for_user and not site and sc.allow_edit_points and not points_form %}
    				<a title="Editovat body" href="{{ url_for('org_contest_task_points', contest_id=contest.contest_id, task_id=task.task_id) }}" class="icon pull-right">✎</a>
    				{% endif %}
    			<th>Akce
    		</tr>
    	</thead>
    {% set tabindex = namespace(value=1) %}
    {% for obj, sol in rows %}
    	{% set u = for_user or obj.user %}
    	{% set task = for_task or obj %}
    	{% if for_task %}
    	<tr class="state-{{ obj.state.name }}">
    	{% else %}
    	<tr>
    	{% endif %}
    		<td>{% if for_user %}
    			<a href='{{ url_for('org_contest_task', contest_id=ct_id, task_id=task.task_id) }}'>{{ task.code }} {{ task.name }}</a>
    		    {% else %}
    			{{ u|pion_link(contest.contest_id) }}{{ u|user_flags }}</a>
    		    {% endif %}
    		{% if for_task %}<td>{{ obj.state.friendly_name() }}{% endif %}
    		{% if sol %}
    		<td>{% if sol.final_submit_obj %}
    			{% set p = sol.final_submit_obj %}
    			{% set late = p.check_deadline(round) %}
    			{% if late %}<span class='sol-warn icon' title="{{ late }}">⚠</span>{% endif %}
    			<a href='{{ paper_link(u, p) }}'>
    				{{- p.uploaded_at|timeformat }}
    				{% if p.is_broken() %}
    					(nekorektní PDF)
    				{% elif p.pages != None %}
    					({{ p.pages|inflected('strana', 'strany', 'stran') }})
    				{% endif %}
    			</a>
    			{% if p.uploaded_by_obj != u %}
    				<a href="{{ url_for('org_user', id=p.uploaded_by) }}" title="nahrál {{ p.uploaded_by_obj.full_name() }}" class="icon">🛈</a>
    			{% endif %}
    			{% set key = (obj.task_id if for_user else obj.user_id, "solution") %}
    			{% if key in paper_counts and paper_counts[key] > 1 %}
    				<span title="Celkem {{ paper_counts[key]|inflected('verze', 'verze', 'verzí') }}" class="icon">🗐</span>
    			{% endif %}
    		    {% else %}–{% endif %}
    		<td>{% if sol.final_feedback_obj %}
    			{% set p = sol.final_feedback_obj %}
    			<a title="nahrál {{ p.uploaded_by_obj.full_name() }}" href='{{ paper_link(u, p) }}'>
    				{{ (p.uploaded_at if p else None)|timeformat }}
    				{% if p.is_broken() %}
    					(nekorektní PDF)
    				{% elif p.pages != None %}
    					({{ p.pages|inflected('strana', 'strany', 'stran') }})
    				{% endif %}
    			</a>
    			{% set key = (obj.task_id if for_user else obj.user_id, "feedback") %}
    			{% if key in paper_counts and paper_counts[key] > 1 %}
    				<span title="Celkem {{ paper_counts[key]|inflected('verze', 'verze', 'verzí') }}" class="icon">🗐</span>
    			{% endif %}
    		    {% else %}–{% endif %}
    		<td style="text-align: center;">
    			{% if sol.note %}<span class="icon" title="Poznámka pro řešitele: {{ sol.note }}">🗩</span>{% endif %}
    			{% if sol.org_note %} <span class="icon" title="Interní poznámka: {{ sol.org_note }}">🗩</span>{% endif %}
    		<td>
    			{% if points_form %}
    				<input
    					type="number" class="form-control" name="points_{{u.user_id}}"
    					min=0 {% if task.max_points is not none %}max={{ task.max_points }}{% endif %}
    					step="{{ round.points_step }}"
    					value="{{ request_form.get("points_{}".format(u.user_id))|none_value(sol.points|decimal) }}"
    					size="4" tabindex={{ tabindex.value }} autofocus
    				>
    			{% else %}
    				{{ sol.points|decimal|none_value(Markup('<span class="unknown">?</span>')) }}
    			{% endif %}
    		{% else %}
    		<td colspan="4" class="text-center">
    			{% if create_form %}
    			<input type="checkbox" name="create_sol_{{u.user_id}}" id="create_sol_{{u.user_id}}"{% if request_form.get("create_sol_{}".format(u.user_id)) %}checked{% endif %} tabindex={{ tabindex.value }} autofocus>
    			{% set tabindex.value = tabindex.value + 1%}
    			<label for="create_sol_{{u.user_id}}">Založit řešení</label>
    			{% else %}–{% endif %}
    		{% endif %}
    		<td><div class="btn-group">
    			<a class="btn btn-xs btn-primary" href="{{ url_for('org_submit_list', contest_id=ct_id, user_id=u.user_id, task_id=task.task_id, site_id=site_id) }}">Detail</a>
    		</div>
    	</tr>
    {% endfor %}
    </table>