<div class="left-sidebar"> {% if request.user.is_authenticated %} {% if contest.can_join or is_editor or is_tester %} {% set in_contest = contest.is_in_contest(request.user) %} {% if contest.ended %} {# Allow users to leave the virtual contest #} {% if in_contest %} <form action="{{ url('contest_leave', contest.key) }}" method="post" class="contest-join-pseudotab btn-midnightblue"> {% csrf_token %} <input type="submit" class="leaving-forever" value="{{ _('Leave contest') }}"> </form> {% else %} {# Allow users to virtual join #} <form action="{{ url('contest_join', contest.key) }}" method="post" class="contest-join-pseudotab btn-midnightblue"> {% csrf_token %} <input type="submit" value="{{ _('Virtual join') }}"> </form> {% endif %} {% else %} {# Allow users to leave the contest #} {% if in_contest %} <form action="{{ url('contest_leave', contest.key) }}" method="post" class="contest-join-pseudotab"> {% csrf_token %} <input type="submit" class="btn-midnightblue" value=" {%- if request.participation.spectate %} {{- _('Stop spectating') -}} {% else %} {{- _('Leave contest') -}} {% endif %}"> </form> {% elif is_editor or is_tester or live_participation.ended %} <form action="{{ url('contest_join', contest.key) }}" method="post" class="contest-join-pseudotab"> {% csrf_token %} <input type="submit" class="btn-midnightblue" value="{{ _('Spectate contest') }}"> </form> {% else %} <form action="{{ url('contest_join', contest.key) }}" method="post" class="contest-join-pseudotab"> {% csrf_token %} <input type="submit" class="btn-midnightblue {% if not has_joined %}first-join{% endif %}" value="{{ _('Join contest') }}"> </form> {% endif %} {% endif %} {% endif %} {% elif contest.can_join %} <form action="{{ url('auth_login') }}" method="get" class="contest-join-pseudotab unselectable"> <input type="hidden" name="next" value="{{ LOGIN_RETURN_PATH|urlencode }}"> <input type="submit" class="btn-midnightblue" value="{{ _('Login to participate') }}"> </form> {% endif %} {{ make_tab_item('detail', 'fa fa-info-circle', url('contest_view', contest.key), _('Info')) }} {% if contest.ended or can_edit %} {{ make_tab_item('stats', 'fa fa-pie-chart', url('contest_stats', contest.key), _('Statistics')) }} {% endif %} {% if contest.start_time <= now or perms.judge.see_private_contest %} {% if contest.can_see_own_scoreboard(request.user) %} {{ make_tab_item('ranking', 'fa fa-bar-chart', url('contest_ranking', contest.key), _('Rankings')) }} {% if request.user.is_authenticated %} {{ make_tab_item('participation', 'fa fa-users', url('contest_participation_own', contest.key), _('Participation')) }} {% endif %} {% else %} {{ make_tab_item('ranking', 'fa fa-bar-chart', None, _('Hidden Rankings')) }} {% endif %} {% endif %} {% if can_edit %} {% if perms.judge.moss_contest and has_moss_api_key %} {{ make_tab_item('moss', 'fa fa-gavel', url('contest_moss', contest.key), _('MOSS')) }} {% endif %} {{ make_tab_item('edit', 'fa fa-edit', url('admin:judge_contest_change', contest.id), _('Edit')) }} {% endif %} {% if perms.judge.clone_contest %} {{ make_tab_item('clone', 'fa fa-copy', url('contest_clone', contest.key), _('Clone')) }} {% endif %} </div>