{% extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% set round = contest.round %} {% set edit_points = not ctx.site and rights.can_edit_points() %} {% set edit_create = rights.can_create_solutions() %} {% set edit_both = edit_points and edit_create %} {% block head %} {% endblock %} {% block title %} {{ "Založení řešení" if edit_form else "Tabulka řešení" }} kategorie {{ round.category }} {% if site %}soutěžního místa {{ site.name }}{% else %}{{ contest.place.name_locative() }}{% endif %} {% endblock %} {% block breadcrumbs %} {{ ctx.breadcrumbs(action="Založení řešení" if edit_form else "Tabulka řešení") }} {% endblock %} {% block body %} {% include "parts/org_submit_warning.html" %}

{% if edit_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 %} Přes ikonku se dostanete na detail, kde můžete nahrávat soubory a hodnotit odevzdané řešení. Odevzdaná řešení jsou zeleně, opravená řešení jsou modře. Symbol značí, že existuje více verzí dostupných v detailu. {% endif %}

{% if edit_form %}
{{ edit_form.csrf_token }} {% endif %} {% set sum_points = {} %} {% for i in range((tasks|length)//4 + (1 if (tasks|length)%4 > 0 else 0)) %}
{% for task in tasks[4*i:4*(i+1)] %} {% endfor %} {% if loop.last %} {% set last_loop = True %} {% endif %} {% for pion in pions %} {% set u = pion.user %} {% do sum_points.setdefault(pion, []) %} {% endif %} {% endfor %}
Seznam účastníků {% for task in tasks[4*i:4*(i+1)] %} {{ task.code }} {% if edit_points or edit_create %} {% if edit_points %}Zadat body{% else %}Založit řešení{% endif %} {% endif %} {% endfor %} {% if last_loop %} {% if contest.state in [RoundState.grading, RoundState.closed] %} Výsledková listina {% endif %} {% endif %}
Účastník Stav účasti {% for task in tasks[4*i:4*(i+1)] %}ŘOB{% endfor %} {% if last_loop %} Body celkem {% endif %}
{{ u|pion_link(contest.contest_id) }} {{ pion.state.friendly_name() }} {% for task in tasks[4*i:4*(i+1)] %} {% if u.user_id in tasks_sols[task.task_id] %} {% set sol = tasks_sols[task.task_id][u.user_id] %} {% if sol.final_submit_obj %} {% set p = sol.final_submit_obj %} {% set late = p.check_deadline(round, contest) %} {% set key = (u.user_id, task.task_id, "solution") %} {% if key in paper_counts and paper_counts[key] > 1 %} {% else %} {% endif %} {% endif %} {% if sol.final_feedback_obj %} {% set p = sol.final_feedback_obj %} {% set key = (u.user_id, task.task_id, "feedback") %} {% if key in paper_counts and paper_counts[key] > 1 %} {% else %} {% endif %} {% endif %} {% if sol.points is not none %} {{ sol.points|decimal }} {% do sum_points[pion].append(sol.points) %} {% else %} ? {% endif %} {% else %} {% if edit_form %} {% else %} {% endif %} {% endif %} {% endfor %} {% if last_loop %} {{ sum_points[pion]|sum|decimal }}
{% for task in tasks[4*i:4*(i+1)] %} {% if edit_form %} Zaškrtnout vše {% else %} {% if rights.can_upload_feedback() %} {% endif %} {% if edit_points or edit_create %} {% endif %} {% endif %} {% endfor %} {% if last_loop %} {% endif %}
{% endfor %} {% if edit_form %}
{{ wtf.form_field(edit_form.submit, class="btn btn-primary") }} Zrušit
{% else %}
{% if rights.can_create_solutions() %} Založit řešení hromadně {% endif %}
{% endif %} {% endblock %}