-
-

Jabber Chat

+
+

Jabber Chat

-
-
-
{% endblock %} diff --git a/plinth/modules/monkeysphere/templates/monkeysphere_details.html b/plinth/modules/monkeysphere/templates/monkeysphere_details.html index 22ee6b3cc..d3a74ffd1 100644 --- a/plinth/modules/monkeysphere/templates/monkeysphere_details.html +++ b/plinth/modules/monkeysphere/templates/monkeysphere_details.html @@ -10,58 +10,60 @@

{% trans "Monkeysphere" %}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{% trans "OpenPGP Fingerprint" %}{{ key.openpgp_fingerprint }}
{% trans "OpenPGP User IDs" %}{{ key.uids|join:', ' }}
{% trans "Key Import Date" %}{{ key.date }}
{% trans "SSH Key Type" %}{{ key.ssh_key_type }}
{% trans "SSH Key Size" %}{{ key.ssh_key_size }}
{% trans "SSH Fingerprint" %}{{ key.ssh_fingerprint }}
{% trans "Service" %} - {% if key.service == 'ssh' %} - {% trans "Secure Shell" %} - {% elif key.service == 'https' %} - {% trans "Web Server" %} - {% else %} - {% trans "Other" %} - {% endif %} -
{% trans "Key File" %}{{ key.key_file }}
{% trans "Available Domains" %}{{ key.available_domains|join:', ' }}
{% trans "Added Domains" %}{{ key.imported_domains|join:', ' }}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{% trans "OpenPGP Fingerprint" %}{{ key.openpgp_fingerprint }}
{% trans "OpenPGP User IDs" %}{{ key.uids|join:', ' }}
{% trans "Key Import Date" %}{{ key.date }}
{% trans "SSH Key Type" %}{{ key.ssh_key_type }}
{% trans "SSH Key Size" %}{{ key.ssh_key_size }}
{% trans "SSH Fingerprint" %}{{ key.ssh_fingerprint }}
{% trans "Service" %} + {% if key.service == 'ssh' %} + {% trans "Secure Shell" %} + {% elif key.service == 'https' %} + {% trans "Web Server" %} + {% else %} + {% trans "Other" %} + {% endif %} +
{% trans "Key File" %}{{ key.key_file }}
{% trans "Available Domains" %}{{ key.available_domains|join:', ' }}
{% trans "Added Domains" %}{{ key.imported_domains|join:', ' }}
+

{% blocktrans trimmed %} diff --git a/plinth/modules/mumble/__init__.py b/plinth/modules/mumble/__init__.py index 14e59fb3b..aa73ae105 100644 --- a/plinth/modules/mumble/__init__.py +++ b/plinth/modules/mumble/__init__.py @@ -16,6 +16,7 @@ from plinth.modules import names from plinth.modules.firewall.components import Firewall from plinth.modules.letsencrypt.components import LetsEncrypt from plinth.modules.users.components import UsersAndGroups +from plinth.utils import Version from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -98,6 +99,21 @@ def setup(helper, old_version=None): app.get_component('letsencrypt-mumble').setup_certificates() +def force_upgrade(helper, packages): + """Force upgrade mumble-server to resolve conffile prompts.""" + if 'mumble-server' not in packages: + return False + + # Allow upgrades within 1.3.* + package = packages['mumble-server'] + if Version(package['new_version']) > Version('1.4~'): + return False + + helper.install(['mumble-server'], force_configuration='new') + helper.call('post', actions.superuser_run, 'mumble', ['setup']) + return True + + def get_available_domains(): """Return an iterator with all domains able to have a certificate.""" return (domain.name for domain in names.components.DomainName.list() diff --git a/plinth/modules/names/templates/names.html b/plinth/modules/names/templates/names.html index c3ea506d4..2c6f1b409 100644 --- a/plinth/modules/names/templates/names.html +++ b/plinth/modules/names/templates/names.html @@ -8,44 +8,46 @@ {% block configuration %} - - - - - - - - - - - {% for domain in status.domains|dictsort:"domain_type.display_name" %} +
+
{% trans "Type" %}{% trans "Domain Name" %}{% trans "Services" %}
+ - - - - + + + + - {% endfor %} + + + {% for domain in status.domains|dictsort:"domain_type.display_name" %} + + + + + + + {% endfor %} - {% for domain_type in status.unused_domain_types %} - - - - - - - {% endfor %} - -
{{ domain.domain_type.display_name }}{{ domain.name }}{{ domain.get_readable_services|join:', ' }} - - {% trans "Configure" %} - - {% trans "Type" %}{% trans "Domain Name" %}{% trans "Services" %}
{{ domain.domain_type.display_name }}{{ domain.name }}{{ domain.get_readable_services|join:', ' }} + + {% trans "Configure" %} + +
{{ domain_type.display_name }}-- - - {% trans "Configure" %} - -
+ {% for domain_type in status.unused_domain_types %} + + {{ domain_type.display_name }} + - + - + + + {% trans "Configure" %} + + + + {% endfor %} + + +

{% endblock %} diff --git a/plinth/modules/networks/static/networks.css b/plinth/modules/networks/static/networks.css new file mode 100644 index 000000000..8d8c690b7 --- /dev/null +++ b/plinth/modules/networks/static/networks.css @@ -0,0 +1,65 @@ +/* +# SPDX-License-Identifier: AGPL-3.0-or-later +*/ + +.connection-status-cell { + width: 4.125rem; +} + +.connection-status-label { + width: 4.125rem; + padding: 0.3125rem 0; + text-align: center; + margin-right: 0.625rem; +} + +.connection-actions { + width: 10rem; +} + +.form-action { + display: inline; +} + +.form-action button { + min-width: 6.25rem; +} + + +/* Connection diagram */ +.connection-diagram { + margin-top: 2rem; + margin-bottom: 2rem; +} + +.col-image { + display: block; + width: 100%; +} + +.network-entity { + max-width: 8rem; +} + +.network-type-icon { + width: 1.5rem; + height: 1.5rem; +} + +.network-connection { + height: 0.5rem; + margin-bottom: 0.75rem; +} + +.network-connection-vertical { + width: 0.5rem; + margin-left: 3.75rem; +} + +.connection-list { + margin-left: 1.5rem; +} + +.connection-list-heading { + font-weight: bold; +} diff --git a/plinth/modules/networks/templates/connection_show.html b/plinth/modules/networks/templates/connection_show.html index 11bc00b23..77ec97493 100644 --- a/plinth/modules/networks/templates/connection_show.html +++ b/plinth/modules/networks/templates/connection_show.html @@ -4,38 +4,33 @@ # ToDo: if connection is disabled, no information are visible anymore (Bug) {% endcomment %} +{% load static %} {% load bootstrap %} {% load i18n %} {% block page_head %} - + {% endblock %} {% block content %}
-
-
+
+
{% trans "Edit" %} {% if active_connection %} -
{% csrf_token %}
{% else %} -
{% csrf_token %} + + + {% endfor %} + + +
{% endfor %} @@ -143,31 +133,33 @@ is plugged back in, sharing will be automatically enabled. {% endblocktrans %}

- - - - - - - - - {% for share in unavailable_shares %} - - - - - {% endfor %} - -
{% trans "Share name" %}{% trans "Action" %}
{{ share.name }} -
- {% csrf_token %} - -
-
+
+ + + + + + + + + {% for share in unavailable_shares %} + + + + + {% endfor %} + +
{% trans "Share name" %}{% trans "Action" %}
{{ share.name }} +
+ {% csrf_token %} + +
+
+
{% endif %} {% endif %} {% endblock %} diff --git a/plinth/modules/security/templates/security.html b/plinth/modules/security/templates/security.html index edf9a0b79..3584d2062 100644 --- a/plinth/modules/security/templates/security.html +++ b/plinth/modules/security/templates/security.html @@ -7,11 +7,13 @@ {% load i18n %} {% block status %} - - - {% trans "Show security report" %} - + {% if is_backports_requested %}

{% trans "Frequent Feature Updates" %}

diff --git a/plinth/modules/security/templates/security_report.html b/plinth/modules/security/templates/security_report.html index ecc2506d5..d0e0139f3 100644 --- a/plinth/modules/security/templates/security_report.html +++ b/plinth/modules/security/templates/security_report.html @@ -34,40 +34,42 @@ running. {% endblocktrans %}

- - - - - - - - - - - - {% for app in apps_report %} +
+
{% trans "App Name" %}{% trans "Current Vulnerabilities" %}{% trans "Past Vulnerabilities" %}{% trans "Sandboxed" %}{% trans "Sandbox Coverage" %}
+ - - - - - + + + + + - {% endfor %} - -
{{ app.name }}{{ app.vulns }}{{ app.past_vulns|default_if_none:"❗"}} - {% if app.sandboxed is None %} - {% trans "N/A" %} - {% elif app.sandboxed %} - {% trans "Yes" %} - {% else %} - {% trans "No" %} - {% endif %} - - {% if app.sandbox_coverage %} - {{ app.sandbox_coverage }}% - {% elif app.sandboxed %} - {% trans "Not running" %} - {% endif %} - {% trans "App Name" %}{% trans "Current Vulnerabilities" %}{% trans "Past Vulnerabilities" %}{% trans "Sandboxed" %}{% trans "Sandbox Coverage" %}
+ + + {% for app in apps_report %} + + {{ app.name }} + {{ app.vulns }} + {{ app.past_vulns|default_if_none:"❗"}} + + {% if app.sandboxed is None %} + {% trans "N/A" %} + {% elif app.sandboxed %} + {% trans "Yes" %} + {% else %} + {% trans "No" %} + {% endif %} + + + {% if app.sandbox_coverage %} + {{ app.sandbox_coverage }}% + {% elif app.sandboxed %} + {% trans "Not running" %} + {% endif %} + + + {% endfor %} + + +
{% endblock %} diff --git a/plinth/modules/sharing/static/sharing.css b/plinth/modules/sharing/static/sharing.css new file mode 100644 index 000000000..39d29fe90 --- /dev/null +++ b/plinth/modules/sharing/static/sharing.css @@ -0,0 +1,11 @@ +/* +# SPDX-License-Identifier: AGPL-3.0-or-later +*/ + +.share-operations form { + display: inline-block; +} + +.share-operations { + text-align: right; +} diff --git a/plinth/modules/sharing/templates/sharing.html b/plinth/modules/sharing/templates/sharing.html index 8d3f3f5be..e63f125d3 100644 --- a/plinth/modules/sharing/templates/sharing.html +++ b/plinth/modules/sharing/templates/sharing.html @@ -4,77 +4,74 @@ {% endcomment %} {% load i18n %} +{% load static %} {% block page_head %} - + {% endblock %} {% block content %} {% include "app-header.html" with icon_filename=icon_filename name=title description=description %} -

+

{% if not shares %}

{% trans 'No shares currently configured.' %}

{% else %} - - - - - - - - - - - - - {% for share in shares %} - - - - - - +
+
{% trans "Name" %}{% trans "Disk Path" %}{% trans "Shared Over" %}{% trans "With Groups" %}
+ + + + + + + - {% endfor %} - -
{% trans "Name" %}{% trans "Disk Path" %}{% trans "Shared Over" %}{% trans "With Groups" %}
+ + + + {% for share in shares %} + + {{ share.name }} + {{ share.path }} + + + {{ share.url }} + + + + {% if not share.groups %} + {% trans "public access" %} + {% else %} + {{ share.groups|join:", " }} + {% endif %} + + + +
+ {% csrf_token %} + +
+ + + {% endfor %} + + +
{% endif %} {% endblock %} diff --git a/plinth/modules/snapshot/__init__.py b/plinth/modules/snapshot/__init__.py index b126ab888..3e0bf44b6 100644 --- a/plinth/modules/snapshot/__init__.py +++ b/plinth/modules/snapshot/__init__.py @@ -4,6 +4,7 @@ FreedomBox app to manage filesystem snapshots. """ import json +import pathlib import augeas from django.utils.translation import ugettext_lazy as _ @@ -64,7 +65,11 @@ class SnapshotApp(app_module.App): def is_supported(): """Return whether snapshots are support on current setup.""" fs_type = storage.get_filesystem_type() - return fs_type in fs_types_supported + # Check that / is not a bind mounted btrfs filesystem similar to how + # snapper does the check: https://github.com/openSUSE/snapper/blob/ + # 77eb6565d3d8df95a06cd52ce31174d98994939c/snapper/BtrfsUtils.cc#L61 + root_inode_number = pathlib.Path('/').stat().st_ino + return fs_type in fs_types_supported and root_inode_number == 256 def setup(helper, old_version=None): diff --git a/plinth/modules/snapshot/templates/snapshot.html b/plinth/modules/snapshot/templates/snapshot.html index 5a6302d36..bbf0b9da2 100644 --- a/plinth/modules/snapshot/templates/snapshot.html +++ b/plinth/modules/snapshot/templates/snapshot.html @@ -7,10 +7,10 @@ {% load i18n %} {% block configuration %} -
+ {% csrf_token %}

{% trans "Configuration" %}

- {{ form|bootstrap_horizontal:'col-sm-4' }} + {{ form|bootstrap_horizontal:'col-md-4' }}
diff --git a/plinth/modules/snapshot/templates/snapshot_delete_selected.html b/plinth/modules/snapshot/templates/snapshot_delete_selected.html index 929f6f4b5..5310a9bf3 100644 --- a/plinth/modules/snapshot/templates/snapshot_delete_selected.html +++ b/plinth/modules/snapshot/templates/snapshot_delete_selected.html @@ -11,22 +11,24 @@

{% trans "Delete the following snapshots permanently?" %}

- - - - - - - - {% for snapshot in snapshots %} - - - - - - {% endfor %} - -
{% trans "Number" %}{% trans "Date" %}{% trans "Description" %}
{{ snapshot.number }}{{ snapshot.date }}{{ snapshot.description }}
+
+ + + + + + + + {% for snapshot in snapshots %} + + + + + + {% endfor %} + +
{% trans "Number" %}{% trans "Date" %}{% trans "Description" %}
{{ snapshot.number }}{{ snapshot.date }}{{ snapshot.description }}
+

diff --git a/plinth/modules/snapshot/templates/snapshot_manage.html b/plinth/modules/snapshot/templates/snapshot_manage.html index 48f5eaaee..20f14277f 100644 --- a/plinth/modules/snapshot/templates/snapshot_manage.html +++ b/plinth/modules/snapshot/templates/snapshot_manage.html @@ -11,64 +11,63 @@
-
- {% csrf_token %} -
- -
-
- -
+
+ {% csrf_token %} + +
- - - - - - - - - - {% for snapshot in snapshots %} - - - - - - - - {% endfor %} - -
{% trans "Number" %}{% trans "Date" %}{% trans "Description" %}{% trans "Rollback" %}
- {{ snapshot.number }} - {% if snapshot.is_default %} - - {% trans "will be used at next boot" %} - - {% endif %} - {% if snapshot.is_active %} - - {% trans "in use" %} - - {% endif %} - {{ snapshot.date }}{% trans snapshot.description %} - - - - - {% if not snapshot.is_default and not snapshot.is_active %} - - {% endif %} -
+
+ + + + + + + + + + {% for snapshot in snapshots %} + + + + + + + + {% endfor %} + +
{% trans "Number" %}{% trans "Date" %}{% trans "Description" %}{% trans "Rollback" %}
+ {{ snapshot.number }} + {% if snapshot.is_default %} + + {% trans "will be used at next boot" %} + + {% endif %} + {% if snapshot.is_active %} + + {% trans "in use" %} + + {% endif %} + {{ snapshot.date }}{% trans snapshot.description %} + + + + + {% if not snapshot.is_default and not snapshot.is_active %} + + {% endif %} +
+
{% endblock %} diff --git a/plinth/modules/snapshot/templates/snapshot_rollback.html b/plinth/modules/snapshot/templates/snapshot_rollback.html index aacacca6a..718679575 100644 --- a/plinth/modules/snapshot/templates/snapshot_rollback.html +++ b/plinth/modules/snapshot/templates/snapshot_rollback.html @@ -19,20 +19,22 @@ {% endblocktrans %}

- - - - - - - - - - - - - -
{% trans "Number" %}{% trans "Date" %}{% trans "Description" %}
{{ snapshot.number }}{{ snapshot.date }}{{ snapshot.description }}
+
+ + + + + + + + + + + + + +
{% trans "Number" %}{% trans "Date" %}{% trans "Description" %}
{{ snapshot.number }}{{ snapshot.date }}{{ snapshot.description }}
+

diff --git a/plinth/modules/ssh/templates/ssh.html b/plinth/modules/ssh/templates/ssh.html index 2f19d876f..54b91f3ed 100644 --- a/plinth/modules/ssh/templates/ssh.html +++ b/plinth/modules/ssh/templates/ssh.html @@ -17,20 +17,22 @@ {% endblocktrans %}

- - - - - - - - - {% for host_key in host_keys %} +
+
{% trans "Algorithm" %}{% trans "Fingerprint" %}
+ - - + + - {% endfor %} - -
{{ host_key.algorithm }}{{ host_key.fingerprint }}{% trans "Algorithm" %}{% trans "Fingerprint" %}
+ + + {% for host_key in host_keys %} + + {{ host_key.algorithm }} + {{ host_key.fingerprint }} + + {% endfor %} + + +
{% endblock %} diff --git a/plinth/modules/sso/templates/login.html b/plinth/modules/sso/templates/login.html index fc85eb14a..9c8c5ab13 100644 --- a/plinth/modules/sso/templates/login.html +++ b/plinth/modules/sso/templates/login.html @@ -12,7 +12,7 @@
{% csrf_token %} -
+
{{ form|bootstrap }}
diff --git a/plinth/modules/storage/static/storage.css b/plinth/modules/storage/static/storage.css new file mode 100644 index 000000000..ba0a67a66 --- /dev/null +++ b/plinth/modules/storage/static/storage.css @@ -0,0 +1,7 @@ +/* +# SPDX-License-Identifier: AGPL-3.0-or-later +*/ + +.progress { + margin-bottom: 0; +} diff --git a/plinth/modules/storage/templates/storage.html b/plinth/modules/storage/templates/storage.html index e71493f04..3e7c53892 100644 --- a/plinth/modules/storage/templates/storage.html +++ b/plinth/modules/storage/templates/storage.html @@ -8,71 +8,70 @@ {% load static %} {% block page_head %} - + {% endblock %} {% block configuration %}

{% trans "The following storage devices are in use:" %}

- - - - - - - - - - - - - {% for disk in disks %} +
+
{% trans "Device" %}{% trans "Label" %}{% trans "Mount Point" %}{% trans "Type" %}{% trans "Used" %}{% trans "Actions" %}
+ - - - - - - + + + + + + - {% endfor %} - -
{{ disk.device }}{{ disk.label|default_if_none:"" }}{{ disk.mount_points|join:"
" }}
{{ disk.filesystem_type }} - {% if 'percent_used' in disk %} -
-
- {{ disk.percent_used }}% -
-
-
{{ disk.used_str }} / {{ disk.size_str }}
- {% endif %} -
- {% if disk.is_removable %} - - {% csrf_token %} - - - - {% endif %} - {% trans "Device" %}{% trans "Label" %}{% trans "Mount Point" %}{% trans "Type" %}{% trans "Used" %}{% trans "Actions" %}
+ + + {% for disk in disks %} + + {{ disk.device }} + {{ disk.label|default_if_none:"" }} + {{ disk.mount_points|join:"
" }} + {{ disk.filesystem_type }} + + {% if 'percent_used' in disk %} +
+
+ {{ disk.percent_used }}% +
+
+
{{ disk.used_str }} / {{ disk.size_str }}
+ {% endif %} + + + {% if disk.is_removable %} +
+ {% csrf_token %} + + +
+ {% endif %} + + + {% endfor %} + + +
{% if expandable_root_size %}

{% trans "Partition Expansion" %}

diff --git a/plinth/modules/tahoe/templates/tahoe-post-setup.html b/plinth/modules/tahoe/templates/tahoe-post-setup.html index 5ad56edf6..e59011e5d 100644 --- a/plinth/modules/tahoe/templates/tahoe-post-setup.html +++ b/plinth/modules/tahoe/templates/tahoe-post-setup.html @@ -27,18 +27,20 @@ {{ block.super }}

{% trans "Local introducer" %}

- - +
+
+ + + + + + - - + + - - - - - -
{% trans "Pet Name" %} furl
{% trans "Pet Name" %} furl {{ local_introducer.0 }}{{ local_introducer.1 }}
{{ local_introducer.0 }}{{ local_introducer.1 }}
+ +
@@ -60,28 +62,30 @@

{% trans "Connected introducers" %}

- - - - - - - - {% for introducer, furl in introducers %} - - - - - - {% endfor %} -
{% trans "Pet Name" %} furl
{{ introducer }}{{ furl }} - - {% csrf_token %} - - -
+
+ + + + + + + + {% for introducer, furl in introducers %} + + + + + + {% endfor %} +
{% trans "Pet Name" %} furl
{{ introducer }}{{ furl }} +
+ {% csrf_token %} + +
+
+
{% endblock %} diff --git a/plinth/modules/tor/templates/tor.html b/plinth/modules/tor/templates/tor.html index b337ac0e9..e48adf12a 100644 --- a/plinth/modules/tor/templates/tor.html +++ b/plinth/modules/tor/templates/tor.html @@ -19,24 +19,26 @@ {{ block.super }} {% if status.hs_enabled %} - - - - - - - - - - - - - - - -
{% trans "Onion Service" %}{% trans "Status" %}{% trans "Ports" %}
{{ status.hs_hostname }}{{ status.hs_status }} - {{ status.hs_services|join:', ' }} -
+
+ + + + + + + + + + + + + + + +
{% trans "Onion Service" %}{% trans "Status" %}{% trans "Ports" %}
{{ status.hs_hostname }}{{ status.hs_status }} + {{ status.hs_services|join:', ' }} +
+
{% endif %} {% endif %} {% endblock %} @@ -62,25 +64,23 @@ necessary: {% endblocktrans %}

-
-
- - +
+
+ + + + + + + + {% for name, port in status.ports.items %} - - + + - - - {% for name, port in status.ports.items %} - - - - - {% endfor %} - -
{% trans "Service" %}{% trans "Port" %}
{% trans "Service" %}{% trans "Port" %}{{ name }}{{ port }}
{{ name }}{{ port }}
-
+ {% endfor %} + +
{% endif %} diff --git a/plinth/modules/upgrades/static/upgrades.css b/plinth/modules/upgrades/static/upgrades.css new file mode 100644 index 000000000..b08713ca1 --- /dev/null +++ b/plinth/modules/upgrades/static/upgrades.css @@ -0,0 +1,15 @@ +/* +# SPDX-License-Identifier: AGPL-3.0-or-later +*/ + +.warning { + color: var(--warning-color); +} + +.processing { + color: var(--progress-color); +} + +.normal { + color: var(--neutral-dark-color); +} diff --git a/plinth/modules/upgrades/templates/update-firstboot-progress.html b/plinth/modules/upgrades/templates/update-firstboot-progress.html index e0a9db852..14f57c968 100644 --- a/plinth/modules/upgrades/templates/update-firstboot-progress.html +++ b/plinth/modules/upgrades/templates/update-firstboot-progress.html @@ -8,11 +8,8 @@ {% load static %} {% block page_head %} - + {% endblock %} {% block content %} diff --git a/plinth/modules/upgrades/templates/update-firstboot.html b/plinth/modules/upgrades/templates/update-firstboot.html index 9f3b6e717..f46291da1 100644 --- a/plinth/modules/upgrades/templates/update-firstboot.html +++ b/plinth/modules/upgrades/templates/update-firstboot.html @@ -29,7 +29,7 @@ {{ form|bootstrap }} - diff --git a/plinth/modules/upgrades/templates/upgrades_configure.html b/plinth/modules/upgrades/templates/upgrades_configure.html index bd3dd69f7..7e870b0de 100644 --- a/plinth/modules/upgrades/templates/upgrades_configure.html +++ b/plinth/modules/upgrades/templates/upgrades_configure.html @@ -8,19 +8,8 @@ {% load static %} {% block page_head %} - + {% endblock %} {% block status %} @@ -108,21 +97,21 @@

{% trans "Manual Update" %}

{% if is_busy %} -

+

-

+
{% else %} -

+

{% csrf_token %}
-

+
{% endif %}

diff --git a/plinth/modules/users/templates/users_delete.html b/plinth/modules/users/templates/users_delete.html index 6aad2c521..147e2252c 100644 --- a/plinth/modules/users/templates/users_delete.html +++ b/plinth/modules/users/templates/users_delete.html @@ -19,11 +19,8 @@

{% csrf_token %} - - - {% trans "Cancel" %}
{% endblock %} diff --git a/plinth/modules/users/templates/users_list.html b/plinth/modules/users/templates/users_list.html index 7e2211c2f..edf6ee28f 100644 --- a/plinth/modules/users/templates/users_list.html +++ b/plinth/modules/users/templates/users_list.html @@ -6,18 +6,6 @@ {% load bootstrap %} {% load i18n %} -{% block page_head %} - -{% endblock %} - {% block configuration %}

{% trans "Users" %}

@@ -31,30 +19,30 @@
-
-
+
+
{% for user in object_list %} -
- {% if user.username != last_admin_user %} - - - - {% endif %} - - + {{ user.username }} {% if not user.is_active %} - {% endif %} + + {% if user.username != last_admin_user %} + + + + {% endif %}
{% endfor %}
diff --git a/plinth/modules/wireguard/templates/wireguard.html b/plinth/modules/wireguard/templates/wireguard.html index 7de5d08c7..1227189ea 100644 --- a/plinth/modules/wireguard/templates/wireguard.html +++ b/plinth/modules/wireguard/templates/wireguard.html @@ -11,37 +11,38 @@

{% trans "Peers allowed to connect to this server:" %}

- - - - - - - {% if server.peers %} - {% for peer in server.peers.values %} - {% if peer.public_key %} - - - - - - {% endif %} - {% endfor %} - {% else %} +
+
{% trans "Public Key" %}{% trans "Allowed IPs" %}{% trans "Last Connected Time" %}
- - {{ peer.public_key }} - - {{ peer.allowed_ips|join:", " }}{{ peer.status.latest_handshake|default:'' }}
- + + + - {% endif %} -
- {% blocktrans trimmed %} - No peers configured to connect to this {{ box_name }} yet. - {% endblocktrans %} - {% trans "Public Key" %}{% trans "Allowed IPs" %}{% trans "Last Connected Time" %}
+ {% if server.peers %} + {% for peer in server.peers.values %} + {% if peer.public_key %} + + + + {{ peer.public_key }} + + + {{ peer.allowed_ips|join:", " }} + {{ peer.status.latest_handshake|default:'' }} + + {% endif %} + {% endfor %} + {% else %} + + + {% blocktrans trimmed %} + No peers configured to connect to this {{ box_name }} yet. + {% endblocktrans %} + + + {% endif %} + +

{% blocktrans trimmed %} @@ -54,12 +55,14 @@ {% endif %}

- - - {% trans "Add Allowed Client" %} - +

{% trans "As a Client" %}

@@ -67,46 +70,49 @@ Servers that {{ box_name }} will connect to: {% endblocktrans %}

- - - - - - - {% if client_peers %} - {% for interface, server in client_peers.items %} - {% for peer in server.peers.values %} - {% if forloop.first %} - - - - - - {% endif %} - {% endfor %} - {% endfor %} - {% else %} +
+
{% trans "Endpoint" %}{% trans "Public Key" %}{% trans "Last Connected Time" %}
{{ peer.endpoint }} - - {{ peer.public_key }} - - {{ peer.status.latest_handshake|default:'' }}
- + + + - {% endif %} -
- {% blocktrans trimmed %} - No connections to remote servers are configured yet. - {% endblocktrans %} - {% trans "Endpoint" %}{% trans "Public Key" %}{% trans "Last Connected Time" %}
+ {% if client_peers %} + {% for interface, server in client_peers.items %} + {% for peer in server.peers.values %} + {% if forloop.first %} + + {{ peer.endpoint }} + + + {{ peer.public_key }} + + + {{ peer.status.latest_handshake|default:'' }} + + {% endif %} + {% endfor %} + {% endfor %} + {% else %} + + + {% blocktrans trimmed %} + No connections to remote servers are configured yet. + {% endblocktrans %} + + + {% endif %} + +
- - - {% trans "Add Connection to Server" %} - + {{ block.super }} diff --git a/plinth/modules/wireguard/templates/wireguard_delete_server.html b/plinth/modules/wireguard/templates/wireguard_delete_server.html index 79493bb87..815b236e7 100644 --- a/plinth/modules/wireguard/templates/wireguard_delete_server.html +++ b/plinth/modules/wireguard/templates/wireguard_delete_server.html @@ -13,18 +13,20 @@

{% trans "Are you sure that you want to delete this server?" %}

- - - - - - - - - - - -
{% trans "Endpoint" %}{{ peer_endpoint }}
{% trans "Public Key" %}{{ peer_public_key }}
+
+ + + + + + + + + + + +
{% trans "Endpoint" %}{{ peer_endpoint }}
{% trans "Public Key" %}{{ peer_public_key }}
+
{% csrf_token %} diff --git a/plinth/modules/wireguard/templates/wireguard_show_client.html b/plinth/modules/wireguard/templates/wireguard_show_client.html index 6ebbed7a9..1aa363fda 100644 --- a/plinth/modules/wireguard/templates/wireguard_show_client.html +++ b/plinth/modules/wireguard/templates/wireguard_show_client.html @@ -14,54 +14,58 @@ client is configured with the following information. {% endblocktrans %}

- - - - - - - - - - - - - - - - - - - - - - - -
{% trans "Client public key:" %}{{ client.public_key }}
{% trans "IP address to use for client:" %}{{ client.allowed_ips|join:", " }}
{% trans "Pre-shared key:" %}{{ client.preshared_key }}
{% trans "Server endpoints:" %} - {% for endpoint in endpoints %} -
{{ endpoint }}
- {% endfor %} -
{% trans "Server public key:" %}{{ server.public_key }}
+
+ + + + + + + + + + + + + + + + + + + + + + + +
{% trans "Client public key:" %}{{ client.public_key }}
{% trans "IP address to use for client:" %}{{ client.allowed_ips|join:", " }}
{% trans "Pre-shared key:" %}{{ client.preshared_key }}
{% trans "Server endpoints:" %} + {% for endpoint in endpoints %} +
{{ endpoint }}
+ {% endfor %} +
{% trans "Server public key:" %}{{ server.public_key }}
+

{% trans "Status" %}

- - - - - - - - - - - - - - - -
{% trans "Data transmitted:" %}{{ client.status.transfer_tx|filesizeformat }}
{% trans "Data received:" %}{{ client.status.transfer_rx|filesizeformat }}
{% trans "Latest handshake:" %}{{ client.status.latest_handshake|default:'' }}
+
+ + + + + + + + + + + + + + + +
{% trans "Data transmitted:" %}{{ client.status.transfer_tx|filesizeformat }}
{% trans "Data received:" %}{{ client.status.transfer_rx|filesizeformat }}
{% trans "Latest handshake:" %}{{ client.status.latest_handshake|default:'' }}
+
-

+

{% endblock %} diff --git a/plinth/modules/wireguard/templates/wireguard_show_server.html b/plinth/modules/wireguard/templates/wireguard_show_server.html index 3a6018c63..928e20f60 100644 --- a/plinth/modules/wireguard/templates/wireguard_show_server.html +++ b/plinth/modules/wireguard/templates/wireguard_show_server.html @@ -17,52 +17,56 @@ {{ box_name }}'s public key and IP address. {% endblocktrans %}

- - - - - - - - - - - - - - - - - - - - - - - -
{% trans "Server endpoint:" %}{{ peer.endpoint }}
{% trans "Server public key:" %}{{ peer.public_key }}
{% trans "Pre-shared key:" %}{{ peer.preshared_key }}
{% trans "Public key of this machine:" %}{{ server.public_key }}
{% trans "IP address of this machine:" %}{{ server.ip_address }}
+
+ + + + + + + + + + + + + + + + + + + + + + + +
{% trans "Server endpoint:" %}{{ peer.endpoint }}
{% trans "Server public key:" %}{{ peer.public_key }}
{% trans "Pre-shared key:" %}{{ peer.preshared_key }}
{% trans "Public key of this machine:" %}{{ server.public_key }}
{% trans "IP address of this machine:" %}{{ server.ip_address }}
+

{% trans "Status" %}

- - - - - - - - - - - - - - - -
{% trans "Data transmitted:" %}{{ peer.status.transfer_tx|filesizeformat }}
{% trans "Data received:" %}{{ peer.status.transfer_rx|filesizeformat }}
{% trans "Latest handshake:" %}{{ peer.status.latest_handshake|default:'' }}
+
+ + + + + + + + + + + + + + + +
{% trans "Data transmitted:" %}{{ peer.status.transfer_tx|filesizeformat }}
{% trans "Data received:" %}{{ peer.status.transfer_rx|filesizeformat }}
{% trans "Latest handshake:" %}{{ peer.status.latest_handshake|default:'' }}
+
{% endif %} {% endfor %} -

+

{% endblock %} diff --git a/plinth/templates/app.html b/plinth/templates/app.html index b24f817e6..bc30d849a 100644 --- a/plinth/templates/app.html +++ b/plinth/templates/app.html @@ -25,7 +25,7 @@ {% block status %} {% if is_running is not None and not is_running %}