{% extends 'generic/_base.html' %}
{% load i18n %}

{% comment %}
Blocks:
  - title:      Page title
  - controls:   Control elements displayed between the header and content
  - tabs:       Page tabs
  - content:    Primary page content
    - form:     Content within the <form> element
    - buttons:  Form submission buttons
  - modals:     Any pre-loaded modals

Context:
  - object:      Python instance of the object being edited
  - form:        The edit form
  - return_url:  The URL to which the user is redirected after submitting the form
{% endcomment %}

{% block title %}
  {% if object.pk %}
    {% trans "Editing" %} {{ object|meta:"verbose_name" }} {{ object }}
  {% else %}
    {% blocktrans trimmed with object_type=object|meta:"verbose_name" %}
      Add a new {{ object_type }}
    {% endblocktrans %}
  {% endif %}
{% endblock title %}

{% block controls %}
  <div class="btn-list">

    {# Link to model documentation #}
    {% if settings.DOCS_ROOT and object.docs_url %}
      <a href="{{ object.docs_url }}" target="_blank" class="btn btn-outline-secondary" title="{% trans "View model documentation" %}" aria-label="{% trans "View model documentation" %}">
        <i class="mdi mdi-help-circle" aria-hidden="true"></i> {% trans "Help" %}
      </a>
    {% endif %}

  </div>
{% endblock controls %}

{% block tabs %}
  <ul class="nav nav-tabs">
    <li class="nav-item" role="presentation">
      <button class="nav-link active" id="edit-form-tab" data-bs-toggle="tab" data-bs-target="#edit-form" type="button" role="tab" aria-controls="edit-form" aria-selected="true">
        {% if object.pk %}{% trans "Edit" %}{% else %}{% trans "Create" %}{% endif %}
      </button>
    </li>
  </ul>
{% endblock tabs %}

{% block content %}
  <div class="tab-pane show active" id="edit-form" role="tabpanel" aria-labelledby="edit-form-tab">

    {# Warn about missing prerequisite objects #}
    {% if prerequisite_model %}
      {% include 'inc/missing_prerequisites.html' %}
    {% endif %}

    <form action="" method="post" enctype="multipart/form-data" class="object-edit object-edit--with-sticky-actions mt-5">
      {% csrf_token %}

      {% block pre_form_fields %}{% endblock pre_form_fields %}
      <div id="form_fields" hx-disinherit="hx-select hx-swap">
        {% block form %}
          {% include 'htmx/form.html' %}
        {% endblock form %}
      </div>

      <div class="sticky-actions sticky-actions-footer d-print-none" data-sticky-position="full" data-sticky-when="always">
        <div class="btn-list">
          {% block buttons %}
            <a href="{{ return_url }}" class="btn btn-outline-secondary">{% trans "Cancel" %}</a>
            {% if object.pk %}
              <button type="submit" name="_update" class="btn btn-primary">
                {% trans "Save" %}
              </button>
            {% else %}
              <div class="btn-group" role="group" aria-label="{% trans "Actions" %}">
                <button type="submit" name="_create" class="btn btn-primary">
                  {% trans "Create" %}
                </button>
                <button type="submit" name="_addanother" class="btn btn-outline-primary">
                  {% trans "Create & Add Another" %}
                </button>
              </div>
            {% endif %}
          {% endblock buttons %}
        </div>
      </div>
    </form>
  </div>
{% endblock content %}

{% block modals %}
  {% include 'inc/htmx_modal.html' with size='lg' %}
{% endblock %}
