{% extends "jury/base.html.twig" %} {% import "jury/jury_macros.twig" as macros %} {% block title %}Contest {{ contest.cid }} - {{ parent() }}{% endblock %} {% block extrahead %} {{ parent() }} {{ macros.table_extrahead() }} {{ macros.toggle_extrahead() }} {% endblock %} {% block content %}

Contest {{ contest.name }}

{% if contest.isActive %}
This contest is currently active.
{% endif %} {% if not contest.enabled %}
This contest is disabled.
{% endif %} {% if contest.finalizetime is not empty %}
This contest is final.
{% endif %} {%- if is_granted('ROLE_ADMIN') and contest.isLocked -%}
This contest is locked. Unlock it to edit contest data.
{% endif %}
{% if showExternalId(contest) %} {% endif %} {% for type, data in contest.dataForJuryInterface %} {% if is_granted('ROLE_ADMIN') %} {% else %} {% endif %} {% endfor %} {% if contest.contestProblemsetType is not empty %} {% endif %} {% set contestId = contest.cid %} {% if showExternalId(contest) %} {% set contestId = contest.externalid %} {% endif %} {% set banner = contestId | assetPath('contest') %} {% if not banner %} {% set banner = globalBannerAssetPath() %} {% endif %} {% if banner %} {% endif %}
CID c{{ contest.cid }}
External ID {{ contest.externalid }}
Short name {{ contest.shortname }}
{{ data.label }}: {{ data.time }} {% if data.icon is defined %} {% endif %} {% if data.show_button %} {% set button_label = type ~ " now" %} {{ button(path('jury_contest_donow', {'contestId': contest.cid, 'time': type}), button_label, 'primary btn-sm timebutton') }} {% endif %} {% if data.extra_button is defined %} {{ button(path('jury_contest_donow', {'contestId': contest.cid, 'time': data.extra_button.type}), data.extra_button.label, 'primary btn-sm timebutton') }} {% endif %} {% if type == 'finalize' %} {% if contest.finalizetime %} {{ button(path('jury_contest_finalize', {'contestId': contest.cid}), 'Update finalization', 'secondary btn-sm timebutton') }} {% endif %} {% endif %}
Allow submit {% include 'jury/partials/contest_toggle.html.twig' with {type: 'submit', enabled: contest.allowSubmit} %}
Problemset document
Process balloons {% include 'jury/partials/contest_toggle.html.twig' with {type: 'balloons', enabled: contest.processBalloons} %}
Runtime as tiebreaker {% include 'jury/partials/contest_toggle.html.twig' with {type: 'tiebreaker', enabled: contest.runtimeAsScoreTiebreaker} %}
Process medals {% include 'jury/partials/contest_toggle.html.twig' with {type: 'medals', enabled: contest.medalsEnabled} %}
Medals {% if contest.medalsEnabled %} {% else %} none {% endif %}
Publicly visible {% include 'jury/partials/contest_toggle.html.twig' with {type: 'public', enabled: contest.public} %}
Open to all teams {{ contest.openToAllTeams | printYesNo }}
Teams {% if contest.openToAllTeams %} all teams {% else %} {% for team in contest.teams %} {{ team.effectiveName }} {{ team | entityIdBadge('t') }}
{% endfor %} {% for category in contest.teamCategories %} All teams from {{ category.name }}
{% endfor %} {% endif %}
Public static scoreboard ZIP Download
Jury (unfrozen) static scoreboard ZIP Download
Sample data ZIP Download
Contains samples, attachments and statement for all problems.
Banner
Warning message {{ contest.warningMessage }}
{% if contest.finalizetime %}

Finalized

Finalized at {{ contest.finalizetime | printtime('Y-m-d H:i:s (T)') }}
B {{ contest.b }}
Comment {{ contest.finalizecomment | nl2br }}
{% endif %} {% if allowRemovedIntervals %}

Removed intervals

{% if not is_granted('ROLE_ADMIN') and contest.removedIntervals is empty %}

None.

{% else %} {% if removedIntervalForm is defined %} {{ form_start(removedIntervalForm) }} {% endif %}
{% for removedInterval in removedIntervals %} {% endfor %} {% if is_granted('ROLE_ADMIN') %} {% endif %}
ID From To Duration
{{ removedInterval.intervalid }} {{ removedInterval.starttimeString }} {{ removedInterval.endtimeString }} {{ removedInterval.starttime | printtimediff(removedInterval.endtime) }}
new {{ form_errors(removedIntervalForm.starttimeString) }} {{ form_widget(removedIntervalForm.starttimeString) }} {{ form_errors(removedIntervalForm.endtimeString) }} {{ form_widget(removedIntervalForm.endtimeString) }} {{ form_widget(removedIntervalForm.add) }}
{% if removedIntervalForm is defined %} Use the format YYYY-MM-DD HH:MM:SS[.uuuuuu] timezone for start/end times. {{ form_end(removedIntervalForm) }} {% endif %} {% endif %} {% endif %}

Problems

{% if problems is empty %}

No problems added yet

{% else %}
{% for problem in problems %} {% set link = path('jury_problem', {'probId': problem.probid}) %} {% if problem.color is empty %} {% else %} {% endif %} {% endfor %}
ID Name Shortname Points Allow
submit
Allow
judge
Color Lazy eval
p{{ problem.probid }} {{ problem.problem.name }} {{ problem.shortname }} {{ problem.points }} {% include 'jury/partials/problem_toggle.html.twig' with {contestProblem: problem, type: 'submit', enabled: problem.allowSubmit} %} {% include 'jury/partials/problem_toggle.html.twig' with {contestProblem: problem, type: 'judge', enabled: problem.allowJudge} %}   {{ problem | problemBadge }} {{ problem.lazyEvalResults | printLazyMode }} {% if problem.problem.problemstatementType %} {% endif %} {% if is_granted('ROLE_ADMIN') and not contest.isLocked %} {% endif %} {% if is_granted('ROLE_ADMIN') %} {% endif %}
{% endif %}
{%- if is_granted('ROLE_ADMIN') -%} {% if contest.isLocked %} {{ button(path('jury_contest_unlock', {'contestId': contest.cid}), 'Unlock', 'danger', 'unlock') }} {% else %} {{ button(path('jury_contest_edit', {'contestId': contest.cid}), 'Edit', 'primary', 'edit') }} {{ button(path('jury_contest_delete', {'contestId': contest.cid}), 'Delete', 'danger', 'trash-alt', true) }} {{ button(path('jury_contest_lock', {'contestId': contest.cid}), 'Lock', 'secondary', 'lock') }} {% endif %} {{ button(path('jury_contest_request_remaining', {'contestId': contest.cid}), 'Judge remaining testcases', 'secondary', 'gavel') }} {% endif %} {{ button(path('jury_contest_prefetch', {'contestId': contest.cid}), 'Heat up judgehosts with contest data', 'secondary', 'download') }} {% include 'jury/partials/rejudge_form.html.twig' with {table: 'contest', id: contest.cid, buttonClass: 'btn-secondary'} %}
{% endblock %} {% block extrafooter %} {{ macros.toggle_autosubmit_extrafooter() }} {% endblock %}