{% extends "simple_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 bootstrap %}
{% load i18n %}

{% block page_head %}
<style type="text/css">
 .table .form .btn {
     width: 7em;
 }

 .form-inline {
     display: inline;
 }
</style>
{% endblock %}

{% block configuration %}

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

  {% if status.domains %}
    <table class="table table-bordered table-condensed table-striped">
      <thead>
        <tr>
          <th>{% trans "Domain" %}</th>
          <th>{% trans "Certificate Status" %}</th>
          <th>{% trans "Website Security" %}</th>
          <th>{% trans "Actions" %}</th>
        </tr>
      </thead>
      <tbody>
        {% for domain, domain_status in status.domains.items %}
          <tr>
            <td>{{ domain }}</td>
            <td>
              {% if domain_status.certificate_available and domain_status.validity == "valid" %}
                <span class="label label-success">
                  {% blocktrans trimmed with expiry_date=domain_status.expiry_date %}
                    Valid, expires on {{ expiry_date }}
                  {% endblocktrans %}
                </span>
              {% elif domain_status.certificate_available and not domain_status.validity == "valid" %}
                <span class="label label-warning">
                  {% if "revoked" in domain_status.validity %}
                    {% blocktrans trimmed %}
                      Revoked
                    {% endblocktrans %}
                  {% elif "expired" in domain_status.validity %}
                    {% blocktrans trimmed with expiry_date=domain_status.expiry_date %}
                      Expired on {{ expiry_date }}
                    {% endblocktrans %}
                  {% elif "test" in domain_status.validity %}
                    {% blocktrans trimmed %}
                      Invalid test certificate
                    {% endblocktrans %}
                  {% else %}
                    {% blocktrans trimmed with reason=domain_status.validity %}
                      Invalid ({{ reason }})
                    {% endblocktrans %}
                  {% endif %}
                </span>
              {% else %}
                <span class="label label-warning">
                  {% trans "No certificate" %}
                </span>
              {% endif %}
            </td>
            <td>
              {% if domain_status.web_enabled %}
                <span class="label label-success">{% trans "Enabled" %}</span>
              {% else %}
                <span class="label label-warning">{% trans "Disabled" %}</span>
              {% endif %}
            </td>
            <td>
              {% if domain_status.certificate_available %}
                <form class="form form-inline" method="post"
                      action="{% url 'letsencrypt:re-obtain' domain %}">
                  {% csrf_token %}
                  <button class="btn btn-sm btn-default" type="submit">
                    {% trans "Re-obtain" %}</button>
                </form>
                <form class="form form-inline" method="post"
                      action="{% url 'letsencrypt:delete' domain %}">
                  {% csrf_token %}
                  <button class="btn btn-sm btn-default" type="submit">
                    {% trans "Delete" %}</button>
                </form>
                {% if "revoked" not in domain_status.validity %}
                  <form class="form form-inline" method="post"
                        action="{% url 'letsencrypt:revoke' domain %}">
                    {% csrf_token %}
                    <button class="btn btn-sm btn-default" type="submit">
                      {% trans "Revoke" %}</button>
                  </form>
                {% endif %}
              {% else %}
                <form class="form form-inline" method="post"
                      action="{% url 'letsencrypt:obtain' domain %}">
                  {% csrf_token %}
                  <button class="btn btn-sm btn-primary" type="submit">
                    {% trans "Obtain" %}</button>
                </form>
              {% endif %}
            </td>
          </tr>
        {% endfor %}
      </tbody>
    </table>

    {% include "diagnostics_button.html" with module="letsencrypt" enabled=True %}

  {% else %}
    {% url 'config:index' as config_url %}
    {% blocktrans trimmed %}
      No domains have been configured. <a href="{{ config_url }}">Configure
      domains</a> to be able to obtain certificates for them.
    {% endblocktrans %}
  {% endif %}
{% endblock %}
