svthalia/concrexit

View on GitHub
website/templates/two_factor/core/login.html

Summary

Maintainability
Test Coverage
{% extends "small_page.html" %}
{% load i18n alert two_factor_tags %}

{% block js_head %}
  {{ form.media }}
{% endblock %}

{% block page_title %}{% trans "Log in" %}{% endblock %}
{% block page_content %}
  {% if wizard.steps.current == 'token' %}
    <p>{{ device|as_verbose_action }}</p>
  {% elif wizard.steps.current == 'backup' %}
    <p>{% blocktrans trimmed %}Use this form for entering backup tokens for logging in.
      These tokens have been generated for you to print and keep safe. Please
      enter one of these backup tokens to login to your account.{% endblocktrans %}</p>
  {% endif %}

  <form action="" method="post">{% csrf_token %}
    {% if wizard.steps.current == 'auth' %}
        {{ wizard.management_form }}

        {% if form.errors %}
          {% trans "Invalid username or password." as error_text %}
          {% alert 'danger' error_text dismissible=True %}
        {% endif %}

        <div class="form-row">
            <input name="{{ wizard.form.username.html_name }}" autofocus class="form-control"
                placeholder="{% trans "Username" %}">
        </div>

        <div class="form-row">
            <input name="{{ wizard.form.password.html_name }}" class="form-control" type="password"
                placeholder="{% trans "Password" %}">
        </div>
    {% else %}
        {% include "two_factor/_wizard_forms.html" %}
    {% endif %}

    {# hidden submit button to enable [enter] key #}
    <input type="submit" value="" hidden />

    {% if other_devices %}
        <p>{% trans "Or, alternatively, use one of your other authentication methods:" %}</p>
        <p>
            {% for other in other_devices %}
            <button name="challenge_device" value="{{ other.persistent_id }}"
                    class="btn btn-secondary btn-block" type="submit">
            {{ other|as_action }}
            </button>
        {% endfor %}</p>
    {% endif %}

    {% if wizard.steps.current == 'auth' %}
        <div class="form-row">
            <input type="submit" value="{% trans "Login" %}" class="btn btn-primary float-end">
            <a href="{% url 'password_reset' %}" class="forgot btn float-start btn-secondary">{% trans "Forgot password" %}</a>
        </div>
    {% else %}
        {% include "two_factor/_wizard_actions.html" %}
    {% endif %}
  </form>

  {% block 'backup_tokens' %}
    {% if backup_tokens %}
      <hr>
      <div class="backup_tokens_form">
      <form action="" method="post">
          {% csrf_token %}
          <p>{% trans "As a last resort, you can use a backup token:" %}</p>
          <p>
              <button name="wizard_goto_step" type="submit" value="backup"
                  class="btn btn-sm btn-secondary btn-block">{% trans "Use Backup Token" %}</button>
          </p>
      </form>
      </div>
    {% endif %}
  {% endblock %}
{% endblock %}