{% extends "app.html" %}
{% comment %}
#
# This file is part of FreedomBox.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
{% 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> ({{ port.details }})</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>

  {% endif %}

{% endblock %}
