{% extends "app.html" %}
{% comment %}
# SPDX-License-Identifier: AGPL-3.0-or-later
{% endcomment %}

{% load i18n %}

{% block configuration %}

  <h3>{% trans "Status" %}</h3>

  {% if firewall_status == 'not_running' %}

    <p>
      {% blocktrans trimmed %}
        Firewall daemon is not running. Please run it. Firewall comes
        enabled by default on {{ box_name }}. On any Debian based
        system (such as {{ box_name }}) you may run it using the
        command 'service firewalld start' or in case of a system with
        systemd 'systemctl start firewalld'.
      {% endblocktrans %}
    </p>

  {% else %}

    <table class='table table-autowidth'>
      <thead>
        <th><center>{% trans "Show Ports" %}</center></th>
        <th>{% trans "Service/Port" %}</th>
        <th>{% trans "Status" %}</th>
      </thead>

      <tbody>
        {% for component in components|dictsort:"name" %}
          {% if component.ports %}
            <tr>
              <td>
                <center>
                  <button data-toggle="collapse"
                          data-target=".{{component.component_id}}"
                          class="btn btn-info btn-xs">+</button>
                </center>
              </td>
              <td><strong>{{ component.name }}</strong></td>
              <td>
                {% if component.is_enabled %}
                  <span class='label label-success'>
                    {% trans "Enabled" %}</span>
                {% else %}
                  <span class='label label-warning'>
                    {% trans "Disabled" %}</span>
                {% endif %}
              </td>
            </tr>
            {% for port in component.ports_details %}
              <tr class="collapse out {{component.component_id}}"
                  style="background-color: #f9f9f9" >
                <td></td>
                <td class='cell-indented'><em>{{ port.name }}</em>:
                  {% for port_number, protocol in port.details %}
                    {{ port_number }}/{{ protocol }}
                  {% endfor %}
                </td>
                <td>
                  {% if port.name in internal_enabled_ports and port.name in external_enabled_ports %}
                    <span class='label label-success'>
                      {% trans "Permitted" %}</span>
                  {% elif port.name in internal_enabled_ports %}
                    <span class='label label-warning'>
                      {% trans "Permitted (internal only)" %}</span>
                  {% elif port.name in external_enabled_ports %}
                    <span class='label label-warning'>
                      {% trans "Permitted (external only)" %}</span>
                  {% else %}
                    <span class='label label-danger'>
                      {% trans "Blocked" %}</span>
                  {% endif %}
                </td>
              </tr>
            {% endfor %}
          {% endif %}
        {% endfor %}
      </tbody>
    </table>

    <p>
      <em>
        {% blocktrans trimmed %}
          The operation of the firewall is automatic. When you enable
          a service it is also permitted in the firewall and when you
          disable a service it is also disabled in the firewall.
        {% endblocktrans %}
      </em>
    </p>

    <h3>{%trans "Advanced" %} </h3>
    <p>
      {% blocktrans trimmed %}
        Advanced firewall operations such as opening custom ports are provided
        by the <a href="/_cockpit/network/firewall">Cockpit</a> app.
      {% endblocktrans %}
    </p>
  {% endif %}

{% endblock %}
