Compare commits

..

No commits in common. "f98479469e72bd6aecd696bf4f8c1eb69a0729f0" and "fceb6967e6aed0175b430b400af013efa6792c70" have entirely different histories.

4 changed files with 468 additions and 680 deletions

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-16 01:18+0000\n"
"PO-Revision-Date: 2026-01-09 20:01+0000\n"
"PO-Revision-Date: 2025-12-22 16:03+0000\n"
"Last-Translator: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>\n"
"Language-Team: Estonian <https://hosted.weblate.org/projects/freedombox/"
"freedombox/et/>\n"
@ -1951,7 +1951,7 @@ msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:28
msgid "Actions"
msgstr "Tegevused"
msgstr "Teegvused"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:37
#: plinth/modules/dynamicdns/templates/dynamicdns.html:72
@ -2213,7 +2213,7 @@ msgstr ""
#: plinth/modules/email/__init__.py:62
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
msgstr ""
#: plinth/modules/email/__init__.py:80
msgid "More emails"
@ -3124,11 +3124,11 @@ msgstr ""
#: plinth/modules/help/templates/help_about.html:129
msgid "Support"
msgstr "Kasutajatugi"
msgstr ""
#: plinth/modules/help/templates/help_about.html:133
msgid "Forum"
msgstr "Foorum"
msgstr ""
#: plinth/modules/help/templates/help_about.html:138
msgid "IRC Chatroom"
@ -4292,7 +4292,7 @@ msgstr ""
#: plinth/modules/miniflux/__init__.py:42
#: plinth/modules/miniflux/manifest.py:10
msgid "Miniflux"
msgstr "Miniflux"
msgstr ""
#: plinth/modules/miniflux/forms.py:12
msgid "Enter a username for the user."
@ -4423,7 +4423,7 @@ msgstr ""
#: plinth/modules/mumble/__init__.py:46 plinth/modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
msgstr ""
#: plinth/modules/mumble/__init__.py:158
msgid "Mumble server is configured"
@ -5674,7 +5674,7 @@ msgstr ""
#: plinth/modules/networks/views.py:105 plinth/modules/wireguard/__init__.py:47
#: plinth/modules/wireguard/manifest.py:14
msgid "WireGuard"
msgstr "WireGuard"
msgstr ""
#: plinth/modules/networks/views.py:112
msgid "ad-hoc"
@ -5786,7 +5786,7 @@ msgstr ""
#: plinth/modules/nextcloud/manifest.py:11
#: plinth/modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Nextcloud"
msgstr ""
#: plinth/modules/nextcloud/forms.py:19
msgid "Not set"
@ -5833,7 +5833,7 @@ msgstr ""
#: plinth/modules/nextcloud/manifest.py:56
#: plinth/modules/sharing/__init__.py:34
msgid "Sharing"
msgstr "Jagamine"
msgstr ""
#: plinth/modules/nextcloud/manifest.py:56 plinth/modules/sogo/manifest.py:72
msgid "Groupware"
@ -5860,7 +5860,7 @@ msgstr ""
#: plinth/modules/openvpn/__init__.py:46 plinth/modules/openvpn/manifest.py:17
msgid "OpenVPN"
msgstr "OpenVPN"
msgstr ""
#: plinth/modules/openvpn/__init__.py:57
#, python-brace-format
@ -6253,7 +6253,7 @@ msgstr ""
#: plinth/modules/privoxy/__init__.py:53
msgid "Privoxy"
msgstr "Privoxy"
msgstr ""
#: plinth/modules/privoxy/__init__.py:119
#, python-brace-format
@ -6291,7 +6291,7 @@ msgstr ""
#: plinth/modules/quassel/__init__.py:51 plinth/modules/quassel/manifest.py:9
msgid "Quassel"
msgstr "Quassel"
msgstr ""
#: plinth/modules/quassel/manifest.py:33
msgid "Quasseldroid"
@ -6299,7 +6299,7 @@ msgstr ""
#: plinth/modules/quassel/manifest.py:54
msgid "IRC"
msgstr "IRC"
msgstr ""
#: plinth/modules/radicale/__init__.py:25
#, python-brace-format
@ -6320,7 +6320,7 @@ msgstr ""
#: plinth/modules/radicale/__init__.py:53
#: plinth/modules/radicale/manifest.py:74
msgid "Radicale"
msgstr "Radicale"
msgstr ""
#: plinth/modules/radicale/forms.py:14
msgid "Only the owner of a calendar/addressbook can view or make changes."
@ -6470,7 +6470,7 @@ msgstr ""
#: plinth/modules/rssbridge/__init__.py:52
#: plinth/modules/rssbridge/manifest.py:7
msgid "RSS-Bridge"
msgstr "RSS-Bridge"
msgstr ""
#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
msgid "Allow Public Access"
@ -6525,7 +6525,7 @@ msgstr ""
#: plinth/modules/samba/__init__.py:53
msgid "Samba"
msgstr "Samba"
msgstr ""
#: plinth/modules/samba/manifest.py:12
msgid "SambaLite"
@ -6818,7 +6818,7 @@ msgstr ""
#: plinth/modules/shaarli/__init__.py:36 plinth/modules/shaarli/manifest.py:25
msgid "Shaarli"
msgstr "Shaarli"
msgstr ""
#: plinth/modules/shaarli/manifest.py:12
msgid "Shaarlier"
@ -6826,7 +6826,7 @@ msgstr ""
#: plinth/modules/shaarli/manifest.py:34
msgid "Bookmarks"
msgstr "Järjehoidjad"
msgstr ""
#: plinth/modules/shaarli/manifest.py:34
msgid "Link blog"
@ -6869,7 +6869,7 @@ msgstr ""
#: plinth/modules/shadowsocks/__init__.py:50
msgid "Shadowsocks Client"
msgstr "Shadowsocksi klient"
msgstr ""
#: plinth/modules/shadowsocks/forms.py:25
msgid "Server hostname or IP address"
@ -6911,7 +6911,7 @@ msgstr ""
#: plinth/modules/shadowsocksserver/__init__.py:47
msgid "Shadowsocks Server"
msgstr "Shadowsocksi server"
msgstr ""
#: plinth/modules/shadowsocksserver/forms.py:10
#: plinth/modules/shadowsocksserver/forms.py:11
@ -7660,7 +7660,7 @@ msgstr ""
#: plinth/modules/syncthing/__init__.py:59
#: plinth/modules/syncthing/manifest.py:12
msgid "Syncthing"
msgstr "Syncthing"
msgstr ""
#: plinth/modules/tiddlywiki/__init__.py:25
#, python-brace-format
@ -7695,7 +7695,7 @@ msgstr ""
#: plinth/modules/tiddlywiki/__init__.py:64
#: plinth/modules/tiddlywiki/manifest.py:9
msgid "TiddlyWiki"
msgstr "TiddlyWiki"
msgstr ""
#: plinth/modules/tiddlywiki/forms.py:39
msgid "A TiddlyWiki file with .html file extension"
@ -7753,7 +7753,7 @@ msgstr ""
#: plinth/modules/tor/__init__.py:63 plinth/modules/tor/manifest.py:61
#: plinth/modules/torproxy/manifest.py:58
msgid "Tor"
msgstr "Tor"
msgstr ""
#: plinth/modules/tor/__init__.py:77
msgid "Tor Onion Service"
@ -7889,7 +7889,7 @@ msgstr ""
#: plinth/modules/torproxy/__init__.py:57
msgid "Tor Proxy"
msgstr "Tori proksi"
msgstr ""
#: plinth/modules/torproxy/__init__.py:81
msgid "Tor Socks Proxy"
@ -7970,7 +7970,7 @@ msgstr ""
#: plinth/modules/transmission/__init__.py:74
#: plinth/modules/transmission/manifest.py:8
msgid "Transmission"
msgstr "Transmission"
msgstr ""
#: plinth/modules/transmission/manifest.py:15
msgid "Tremotesf"
@ -8990,7 +8990,7 @@ msgstr ""
#: plinth/modules/wordpress/__init__.py:53
#: plinth/modules/wordpress/manifest.py:6
msgid "WordPress"
msgstr "WordPress"
msgstr ""
#: plinth/modules/wordpress/forms.py:14
msgid "Public access"
@ -9029,7 +9029,7 @@ msgstr ""
#: plinth/modules/zoph/__init__.py:57 plinth/modules/zoph/manifest.py:6
msgid "Zoph"
msgstr "Zoph"
msgstr ""
#: plinth/modules/zoph/forms.py:14
msgid "Enable OpenStreetMap for maps"

File diff suppressed because it is too large Load Diff

View File

@ -109,14 +109,14 @@ class GitwebApp(app_module.App):
def _enable_public_access(self):
"""Allow Gitweb app to be accessed by anyone with access."""
if self.is_enabled():
if self.auth_webserver.is_conf_enabled():
self.auth_webserver.disable()
self.set_shortcut_login_required(False)
def _disable_public_access(self):
"""Allow Gitweb app to be accessed by logged-in users only."""
if self.is_enabled():
if self.is_enabled() and not self.auth_webserver.is_conf_enabled():
self.auth_webserver.enable()
self.set_shortcut_login_required(True)
@ -137,7 +137,14 @@ class GitwebApp(app_module.App):
class GitwebWebserverAuth(Webserver):
"""Component to handle Gitweb authentication webserver configuration."""
is_leader = False
def is_conf_enabled(self):
"""Check whether Gitweb authentication configuration is enabled."""
return super().is_enabled()
def is_enabled(self):
"""Return if configuration is enabled or public access is enabled."""
repos = get_repo_list()
return have_public_repos(repos) or super().is_enabled()
def enable(self):
"""Enable apache configuration only if no public repository exists."""

View File

@ -272,7 +272,7 @@ document.addEventListener('DOMContentLoaded', async () => {
/*
* Text areas showing log lines have special behavior.
*/
document.addEventListener('DOMContentLoaded', function (event) {
document.addEventListener('DOMContentLoaded', function(event) {
const logElements = document.querySelectorAll('textarea.log');
// Scroll the textarea to the bottom so that last lines are visible.
@ -280,26 +280,3 @@ document.addEventListener('DOMContentLoaded', function (event) {
element.scrollTop = element.scrollHeight;
}
});
/*
* Close notifications dropdown when clicking outside, like the other dropdowns.
*/
document.addEventListener('click', function (event) {
// Ignore if notifications dropdown is not open
const notifications = document.querySelector('.notifications');
if (!notifications?.classList.contains('show')) {
return;
}
// Ignore if the click happened inside the notifications area or on the toggle button
const toggles = document.querySelectorAll('[data-bs-target=".notifications"]');
const clickedInsideToggle = Array.from(toggles).some(toggle => toggle.contains(event.target));
if (notifications.contains(event.target) || clickedInsideToggle) {
return;
}
if (typeof bootstrap !== 'undefined' && bootstrap.Collapse) {
let bsCollapse = bootstrap.Collapse.getInstance(notifications);
bsCollapse.hide();
}
});