mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-13 10:30:16 +00:00
- In the main domains list, only show currently configured domains. Allow operations such as edit/delete/configure on them. Actions are determined by the domain type. - Show domain types that can be added in a separate table. If an domain is present and only of that type can exist, it will not be shown in this table. Show add/configure action based on whether multiple domains can exist. Tests: - Configuring a singleton domain type puts it in the domains tables and removes it from the add domains table. De-configuring it or disabling it does the opposite. - For domain types with multiple domains (static/dynamic), entries are shown in domains if such domains exist. Entry in add domains tables always shows up. - All action buttons for all five domain types work. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
174 lines
5.7 KiB
HTML
174 lines
5.7 KiB
HTML
{% extends "app.html" %}
|
|
{% comment %}
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
{% endcomment %}
|
|
|
|
{% load bootstrap %}
|
|
{% load i18n %}
|
|
|
|
{% block status %}
|
|
{{ block.super }}
|
|
|
|
<h3>{% trans "Domains" %}</h3>
|
|
|
|
<div class="table-responsive">
|
|
<table class="table names-table">
|
|
<thead>
|
|
<tr>
|
|
<th>{% trans "Type" %}</th>
|
|
<th class="names-domain-column">{% trans "Domain Name" %}</th>
|
|
<th>{% trans "Services" %}</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for domain in status.domains|dictsort:"domain_type.display_name" %}
|
|
<tr>
|
|
<td>{{ domain.domain_type.display_name }}</td>
|
|
<td class="names-domain-column">{{ domain.name }}</td>
|
|
<td>{{ domain.get_readable_services|join:', ' }}</td>
|
|
<td>
|
|
{% if domain.domain_type.configuration_url %}
|
|
<a href="{% url domain.domain_type.configuration_url %}"
|
|
role="button" class="btn btn-md btn-default">
|
|
<span class="fa fa-wrench" aria-hidden="true"></span>
|
|
{% trans "Configure" %}
|
|
</a>
|
|
{% endif %}
|
|
{% if domain.domain_type.edit_url %}
|
|
<a href="{% url domain.domain_type.edit_url domain.name %}"
|
|
role="button" class="btn btn-md btn-default"
|
|
title="{% trans 'Edit' %}">
|
|
<span class="fa fa-pencil-square-o" aria-hidden="true"></span>
|
|
</a>
|
|
{% endif %}
|
|
{% if domain.domain_type.delete_url %}
|
|
<a href="{% url domain.domain_type.delete_url domain.name %}"
|
|
role="button" class="btn btn-md btn-default"
|
|
title="{% trans 'Delete' %}">
|
|
<span class="fa fa-trash-o" aria-hidden="true"></span>
|
|
</a>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<h4>{% trans "Add Domains" %}</h4>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div id="domains-add" class="list-group list-group-two-column">
|
|
{% for domain_type in status.unused_domain_types %}
|
|
<div class="list-group-item d-flex justify-content-between">
|
|
<div>{{ domain_type.display_name }}</div>
|
|
{% if domain_type.configuration_url %}
|
|
<a href="{% url domain_type.configuration_url %}"
|
|
role="button" class="btn btn-md btn-default">
|
|
<span class="fa fa-wrench" aria-hidden="true"></span>
|
|
{% trans "Configure" %}
|
|
</a>
|
|
{% endif %}
|
|
{% if domain_type.add_url %}
|
|
<a href="{% url domain_type.add_url %}"
|
|
role="button" class="btn btn-md btn-default">
|
|
<span class="fa fa-plus" aria-hidden="true"></span>
|
|
{% trans "Add" %}
|
|
</a>
|
|
{% endif %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>{% trans "Resolver Status" %}</h3>
|
|
|
|
{% if resolved_installed and resolved_status %}
|
|
<div class="table-responsive">
|
|
<table class="table resolved-status-table">
|
|
<tbody>
|
|
{% for link in resolved_status %}
|
|
<tr>
|
|
<th colspan="2">
|
|
{% if link.link_index == 0 %}
|
|
{% trans "Global" %}
|
|
{% else %}
|
|
{% trans "Link" %} {{ link.link_index }} ({{link.interface_name}})
|
|
{% endif %}
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans "DNS-over-TLS" %}</td>
|
|
<td>{{ link.dns_over_tls_string }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{% trans "DNSSEC" %}</td>
|
|
<td>{{ link.dnssec_string }}/{{ link.dnssec_supported_string }}</td>
|
|
</tr>
|
|
{% if link.current_dns_server %}
|
|
<tr>
|
|
<td>{% trans "Current DNS Server" %}</td>
|
|
<td>{{ link.current_dns_server }}</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% if link.dns_servers %}
|
|
<tr>
|
|
<td>{% trans "DNS Servers" %}</td>
|
|
<td>
|
|
{% for server in link.dns_servers %}
|
|
{{ server }}<br />
|
|
{% endfor %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% if link.fallback_dns_servers %}
|
|
<tr>
|
|
<td>{% trans "Fallback DNS Servers" %}</td>
|
|
<td>
|
|
{% for server in link.fallback_dns_servers %}
|
|
{{ server }}<br />
|
|
{% endfor %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% elif not resolved_installed %}
|
|
<p>
|
|
{% blocktrans trimmed %}
|
|
systemd-resolved package is not installed. Install it for additional
|
|
functionality.
|
|
{% endblocktrans %}
|
|
<form class="form form-install-resolved" method="post"
|
|
action="{% url 'rerun-setup' app_id='names' %}">
|
|
{% csrf_token %}
|
|
|
|
<input type="submit" class="btn btn-primary" name="install_resolved"
|
|
value="{% trans 'Install' %}"/>
|
|
</form>
|
|
</p>
|
|
{% else %}
|
|
<div class="alert alert-danger d-flex align-items-center">
|
|
<div class="me-2">
|
|
<span class="fa fa-exclamation-triangle" aria-hidden="true"></span>
|
|
<span class="visually-hidden">{% trans "Caution:" %}</span>
|
|
</div>
|
|
<div>
|
|
{% trans "Error retrieving status:" %} {{ resolved_status_error }}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block configuration %}
|
|
{% if resolved_installed %}
|
|
{{ block.super }}
|
|
{% endif %}
|
|
{% endblock %}
|