TabbycatDebate/tabbycat

View on GitHub
tabbycat/tournaments/templates/set_current_round.html

Summary

Maintainability
Test Coverage
{% extends "base.html" %}
{% load debate_tags %}
{% load add_field_css i18n %}

{% block page-title %}{% trans "Set Current Round" %}{% endblock %}
{% block head-title %}
  <span class="emoji">🙏</span>{% trans "Set Current Round" %}
{% endblock %}

{% block page-subnav-sections %}
  {% if current_round %}
    <a class="btn btn-primary "
       href="{% tournamenturl 'options-tournament-index' %}">
      <i data-feather="chevron-left"></i> {% trans "Back to Configuration" %}
    </a>
  {% endif %}
{% endblock %}

{% block body-class %}{% if current_round is None %}override-sidebar-offset{% endif %}{% endblock %}

{% block sidebar %}
  {# Don't show the sidebar if there's no current round, because it'll crash. #}
  {% if current_round %}
    {{ block.super }}
  {% endif %}
{% endblock %}

{% block content %}

{% if next %}
  <div class="alert alert-warning">
    <i data-feather="alert-circle"></i>
    {% blocktrans trimmed with tournament=tournament.name %}
      No round is currently set. In order for Tabbycat to work, please set the
      <strong>current round</strong> of the tournament
      <strong>{{ tournament }}</strong>.
    {% endblocktrans %}
  </div>
{% else %}
  <div class="alert alert-info">
    <i data-feather="alert-circle"></i>
    {% blocktrans trimmed with tournament=tournament.name %}
      On this page, you can set the <strong>current round</strong> of the tournament
      <strong>{{ tournament }}</strong>.
    {% endblocktrans %}
  </div>
{% endif %}

{% if not tournament.round_set.exists %}
  <div class="alert alert-danger">
    <i data-feather="alert-circle"></i>
    {% url 'admin:tournaments_round_changelist' as round_changelist_url %}
    {% blocktrans trimmed with tournament=tournament.name %}
      The tournament <strong>{{ tournament }}</strong> has no rounds.
      You'll need to <a href="{{ round_changelist_url }}">add rounds and
      associate them with this tournament</a> before you can set the current
      round.
    {% endblocktrans %}
  </div>
{% endif %}

<div class="card">
  <div class="card-body">

    <form action="." method="POST">

      {% csrf_token %}

      {% include 'components/form-main.html' %}

      <button type="submit" class="btn btn-block btn-success form-control">
        {% trans "Set Current Round" %}
      </button>

    </form>

  </div>
</div>

{% endblock %}

{% block js %}
  {{ block.super }}

  <script>
    $('#id_prelim').change(function () {
      if ($('#id_prelim').val() == 'all-completed') {
        $('select[id^=id_elim_]').prop('disabled', false);
        $('select[id^=id_elim_] option:nth-child(2)').prop('selected', true);
      } else {
        $('select[id^=id_elim_]').prop('disabled', true);
        $('select[id^=id_elim_] option:nth-child(1)').prop('selected', true);
      }
    });

    // disable elimination round fields if preliminary rounds are complete
    $(document).ready(function () {
      $('select[id^=id_elim_]').prop('disabled', $('#id_prelim').val() != 'all-completed');
    });
  </script>

{% endblock %}