1
0
Fork 1
Spiegel von https://github.com/dani-garcia/vaultwarden.git synchronisiert 2025-03-12 16:47:03 +01:00

Translated and flavored for GUG.cz

Dieser Commit ist enthalten in:
Jiří Bartušek 2020-01-04 13:46:55 +01:00 committet von GitHub
Ursprung 2ea4de3469
Commit bc52c216d0
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23

Datei anzeigen

@ -1,6 +1,6 @@
<main class="container"> <main class="container">
<div id="users-block" class="my-3 p-3 bg-white rounded shadow"> <div id="users-block" class="my-3 p-3 bg-white rounded shadow">
<h6 class="border-bottom pb-2 mb-0">Registered Users</h6> <h6 class="border-bottom pb-2 mb-0">Registrovaní uživatelé</h6>
<div id="users-list"> <div id="users-list">
{{#each users}} {{#each users}}
@ -14,7 +14,7 @@
<span class="badge badge-success ml-2">2FA</span> <span class="badge badge-success ml-2">2FA</span>
{{/if}} {{/if}}
{{#case _Status 1}} {{#case _Status 1}}
<span class="badge badge-warning ml-2">Invited</span> <span class="badge badge-warning ml-2">Pozvání odesláno</span>
{{/case}} {{/case}}
<span class="d-block">{{Email}}</span> <span class="d-block">{{Email}}</span>
</div> </div>
@ -28,11 +28,11 @@
</div> </div>
<div style="flex: 0 0 300px; font-size: 90%; text-align: right; padding-right: 15px"> <div style="flex: 0 0 300px; font-size: 90%; text-align: right; padding-right: 15px">
{{#if TwoFactorEnabled}} {{#if TwoFactorEnabled}}
<a class="mr-2" href="#" onclick='remove2fa({{jsesc Id}})'>Remove all 2FA</a> <a class="mr-2" href="#" onclick='remove2fa({{jsesc Id}})'>Odstranit všechny 2FA</a>
{{/if}} {{/if}}
<a class="mr-2" href="#" onclick='deauthUser({{jsesc Id}})'>Deauthorize sessions</a> <a class="mr-2" href="#" onclick='deauthUser({{jsesc Id}})'>Odhlásit ze všech zařízení</a>
<a class="mr-2" href="#" onclick='deleteUser({{jsesc Id}}, {{jsesc Email}})'>Delete User</a> <a class="mr-2" href="#" onclick='deleteUser({{jsesc Id}}, {{jsesc Email}})'>Smazat uživatele</a>
</div> </div>
</div> </div>
</div> </div>
@ -43,33 +43,33 @@
<div class="mt-3"> <div class="mt-3">
<button type="button" class="btn btn-sm btn-link" onclick="updateRevisions();" <button type="button" class="btn btn-sm btn-link" onclick="updateRevisions();"
title="Force all clients to fetch new data next time they connect. Useful after restoring a backup to remove any stale data."> title="Vynutí u všech klientů, aby se synchronizovali jakmile se znovu připojí. Užitečně např. po obnovení zálohy pro smazání všech uložených starých dat.">
Force clients to resync Vynutit synchronizaci u klientů
</button> </button>
<button type="button" class="btn btn-sm btn-primary float-right" onclick="reload();">Reload users</button> <button type="button" class="btn btn-sm btn-primary float-right" onclick="reload();">Obnovit seznam</button>
</div> </div>
</div> </div>
<div id="invite-form-block" class="align-items-center p-3 mb-3 text-white-50 bg-secondary rounded shadow"> <div id="invite-form-block" class="align-items-center p-3 mb-3 text-white-50 bg-secondary rounded shadow">
<div> <div>
<h6 class="mb-0 text-white">Invite User</h6> <h6 class="mb-0 text-white">Pozvat uživatele</h6>
<small>Email:</small> <small>Email:</small>
<form class="form-inline" id="invite-form" onsubmit="inviteUser(); return false;"> <form class="form-inline" id="invite-form" onsubmit="inviteUser(); return false;">
<input type="email" class="form-control w-50 mr-2" id="email-invite" placeholder="Enter email"> <input type="email" class="form-control w-50 mr-2" id="email-invite" placeholder="Zadej email">
<button type="submit" class="btn btn-primary">Invite</button> <button type="submit" class="btn btn-primary">Odeslat pozvánku</button>
</form> </form>
</div> </div>
</div> </div>
<div id="config-block" class="align-items-center p-3 mb-3 bg-secondary rounded shadow"> <div id="config-block" class="align-items-center p-3 mb-3 bg-secondary rounded shadow">
<div> <div>
<h6 class="text-white mb-3">Configuration</h6> <h6 class="text-white mb-3">Konfigurace</h6>
<div class="small text-white mb-3"> <div class="small text-white mb-3">
NOTE: The settings here override the environment variables. Once saved, it's recommended to stop setting POZNÁMKA: Tato nastavení přepíšou všechny proměnné pro toto prostředí. Jakmile nastavení uložíte, doporučujeme
them to avoid confusion. This does not apply to the read-only section, which can only be set through the proměnné nastavovat aby se zabránilo zmatkům.
environment. To ovšem neplatí pro sekci pouze pro čtení, která může být nastavena pouze přes prostředí.
</div> </div>
<form class="form accordion" id="config-form" onsubmit="saveConfig(); return false;"> <form class="form accordion" id="config-form" onsubmit="saveConfig(); return false;">
{{#each config}} {{#each config}}
@ -85,13 +85,13 @@
<label for="input_{{name}}" class="col-sm-3 col-form-label">{{doc.name}}</label> <label for="input_{{name}}" class="col-sm-3 col-form-label">{{doc.name}}</label>
<div class="col-sm-8 input-group"> <div class="col-sm-8 input-group">
<input class="form-control conf-{{type}}" id="input_{{name}}" type="{{type}}" <input class="form-control conf-{{type}}" id="input_{{name}}" type="{{type}}"
name="{{name}}" value="{{value}}" {{#if default}} placeholder="Default: {{default}}" name="{{name}}" value="{{value}}" {{#if default}} placeholder="Výchozí: {{default}}"
{{/if}}> {{/if}}>
{{#case type "password"}} {{#case type "password"}}
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-outline-secondary" type="button" <button class="btn btn-outline-secondary" type="button"
onclick="toggleVis('input_{{name}}');">Show/hide</button> onclick="toggleVis('input_{{name}}');">Zobrazit/skrýt</button>
</div> </div>
{{/case}} {{/case}}
</div> </div>
@ -103,7 +103,7 @@
<input class="form-check-input conf-{{type}}" type="checkbox" id="input_{{name}}" <input class="form-check-input conf-{{type}}" type="checkbox" id="input_{{name}}"
name="{{name}}" {{#if value}} checked {{/if}}> name="{{name}}" {{#if value}} checked {{/if}}>
<label class="form-check-label" for="input_{{name}}"> Default: {{default}} </label> <label class="form-check-label" for="input_{{name}}"> Výchozí: {{default}} </label>
</div> </div>
</div> </div>
{{/case}} {{/case}}
@ -117,12 +117,12 @@
<div class="card bg-light mb-3"> <div class="card bg-light mb-3">
<div class="card-header"><button type="button" class="btn btn-link collapsed" data-toggle="collapse" <div class="card-header"><button type="button" class="btn btn-link collapsed" data-toggle="collapse"
data-target="#g_readonly">Read-Only Config</button></div> data-target="#g_readonly">Nastavení pouze pro čtení</button></div>
<div id="g_readonly" class="card-body collapse" data-parent="#config-form"> <div id="g_readonly" class="card-body collapse" data-parent="#config-form">
<div class="small mb-3"> <div class="small mb-3">
NOTE: These options can't be modified in the editor because they would require the server POZNÁMKA: Tato nastavení nemohou být v editoru upravována, jelikož by potřebovaly restart
to be restarted. To modify them, you need to set the correct environment variables when serveru. Pro jejich úpravu je potřeba nastavit správné proměnné pro prostředí při
launching the server. You can check the variable names in the tooltips of each option. spouštění serveru. Pro názvy proměnných můžeš najét myší na každou z nastavitelných položek.
</div> </div>
{{#each config}} {{#each config}}
@ -133,12 +133,12 @@
<label for="input_{{name}}" class="col-sm-3 col-form-label">{{doc.name}}</label> <label for="input_{{name}}" class="col-sm-3 col-form-label">{{doc.name}}</label>
<div class="col-sm-8 input-group"> <div class="col-sm-8 input-group">
<input readonly class="form-control" id="input_{{name}}" type="{{type}}" <input readonly class="form-control" id="input_{{name}}" type="{{type}}"
value="{{value}}" {{#if default}} placeholder="Default: {{default}}" {{/if}}> value="{{value}}" {{#if default}} placeholder="Výchozí: {{default}}" {{/if}}>
{{#case type "password"}} {{#case type "password"}}
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-outline-secondary" type="button" <button class="btn btn-outline-secondary" type="button"
onclick="toggleVis('input_{{name}}');">Show/hide</button> onclick="toggleVis('input_{{name}}');">Zobrazit/skrýt</button>
</div> </div>
{{/case}} {{/case}}
</div> </div>
@ -150,7 +150,7 @@
<input disabled class="form-check-input" type="checkbox" id="input_{{name}}" <input disabled class="form-check-input" type="checkbox" id="input_{{name}}"
{{#if value}} checked {{/if}}> {{#if value}} checked {{/if}}>
<label class="form-check-label" for="input_{{name}}"> Default: {{default}} </label> <label class="form-check-label" for="input_{{name}}"> Výchozí: {{default}} </label>
</div> </div>
</div> </div>
{{/case}} {{/case}}
@ -165,18 +165,18 @@
{{#if can_backup}} {{#if can_backup}}
<div class="card bg-light mb-3"> <div class="card bg-light mb-3">
<div class="card-header"><button type="button" class="btn btn-link collapsed" data-toggle="collapse" <div class="card-header"><button type="button" class="btn btn-link collapsed" data-toggle="collapse"
data-target="#g_database">Backup Database</button></div> data-target="#g_database">Záloha databáze</button></div>
<div id="g_database" class="card-body collapse" data-parent="#config-form"> <div id="g_database" class="card-body collapse" data-parent="#config-form">
<div class="small mb-3"> <div class="small mb-3">
NOTE: A local installation of sqlite3 is required for this section to work. POZNÁMKA: Lokální instalace sqlite3 je pro funkčnost této sekce povinná.
</div> </div>
<button type="button" class="btn btn-primary" onclick="backupDatabase();">Backup Database</button> <button type="button" class="btn btn-primary" onclick="backupDatabase();">Zálohovat</button>
</div> </div>
</div> </div>
{{/if}} {{/if}}
<button type="submit" class="btn btn-primary">Save</button> <button type="submit" class="btn btn-primary">Uložit</button>
<button type="button" class="btn btn-danger float-right" onclick="deleteConf();">Reset defaults</button> <button type="button" class="btn btn-danger float-right" onclick="deleteConf();">Nastavit výchozí</button>
</form> </form>
</div> </div>
</div> </div>
@ -222,42 +222,42 @@
}).catch(e => { msg(errMsg + ": Unknown error") }); }).catch(e => { msg(errMsg + ": Unknown error") });
} }
function deleteUser(id, mail) { function deleteUser(id, mail) {
var input_mail = prompt("To delete user '" + mail + "', please type the email below") var input_mail = prompt("Pro smazání uživatele '" + mail + "', opište níže jeho email.")
if (input_mail != null) { if (input_mail != null) {
if (input_mail == mail) { if (input_mail == mail) {
_post("/admin/users/" + id + "/delete", _post("/admin/users/" + id + "/delete",
"User deleted correctly", "Uživatel byl smazán",
"Error deleting user"); "Při smazání uživatele se stala chyba");
} else { } else {
alert("Wrong email, please try again") alert("Špatně opsaný email, zkus to znovu")
} }
} }
return false; return false;
} }
function remove2fa(id) { function remove2fa(id) {
_post("/admin/users/" + id + "/remove-2fa", _post("/admin/users/" + id + "/remove-2fa",
"2FA removed correctly", "2FA úspěšně smazáno",
"Error removing 2FA"); "Při mazání 2FA se vyskytla chyba");
return false; return false;
} }
function deauthUser(id) { function deauthUser(id) {
_post("/admin/users/" + id + "/deauth", _post("/admin/users/" + id + "/deauth",
"Sessions deauthorized correctly", "Odhlášení na zařízeních proběhlo úspěšně",
"Error deauthorizing sessions"); "Při odhlašování se vyskytla chyba");
return false; return false;
} }
function updateRevisions() { function updateRevisions() {
_post("/admin/users/update_revision", _post("/admin/users/update_revision",
"Success, clients will sync next time they connect", "Úspěch, při příštím připojení dojde ke synchronizaci",
"Error forcing clients to sync"); "Při vyžádání synchronizace se vyskytla chyba");
return false; return false;
} }
function inviteUser() { function inviteUser() {
inv = document.getElementById("email-invite"); inv = document.getElementById("email-invite");
data = JSON.stringify({ "email": inv.value }); data = JSON.stringify({ "email": inv.value });
inv.value = ""; inv.value = "";
_post("/admin/invite/", "User invited correctly", _post("/admin/invite/", "Uživatel úspěšně pozván",
"Error inviting user", data); "Vyskytla se chyba při posílání pozvánky pro", data);
return false; return false;
} }
function getFormData() { function getFormData() {
@ -278,27 +278,27 @@
} }
function saveConfig() { function saveConfig() {
data = JSON.stringify(getFormData()); data = JSON.stringify(getFormData());
_post("/admin/config/", "Config saved correctly", _post("/admin/config/", "Nastavení úspěšně uloženo",
"Error saving config", data); "Při ukládání se vyskytla chyba:", data);
return false; return false;
} }
function deleteConf() { function deleteConf() {
var input = prompt("This will remove all user configurations, and restore the defaults and the " + var input = prompt("Tímto smažeš všechna uživatelská nastavení a obnovíš původní " +
"values set by the environment. This operation could be dangerous. Type 'DELETE' to proceed:"); "hodnoty nastavené prostředím. Toto může být docela nebezpečné. Napiš 'DELETE' pro potvrzení:");
if (input === "DELETE") { if (input === "DELETE") {
_post("/admin/config/delete", _post("/admin/config/delete",
"Config deleted correctly", "Konfigurace úspěšně smazána",
"Error deleting config"); "Při mazání konfigurace došlo k chybě");
} else { } else {
alert("Wrong input, please try again") alert("Špatně opsáno, zkus to znovu")
} }
return false; return false;
} }
function backupDatabase() { function backupDatabase() {
_post("/admin/config/backup_db", _post("/admin/config/backup_db",
"Backup created successfully", "Záloha úspěšně vytvořena",
"Error creating backup"); "Při tvorbě zálohy se vyskytla chyba");
return false; return false;
} }
function masterCheck(check_id, inputs_query) { function masterCheck(check_id, inputs_query) {
@ -315,10 +315,10 @@
checkbox.addEventListener("change", onChange); checkbox.addEventListener("change", onChange);
} }
let OrgTypes = { let OrgTypes = {
"0": { "name": "Owner", "color": "orange" }, "0": { "name": "Superadministrátor", "color": "orange" },
"1": { "name": "Admin", "color": "blueviolet" }, "1": { "name": "Administrátor", "color": "blueviolet" },
"2": { "name": "User", "color": "blue" }, "2": { "name": "GUGer", "color": "blue" },
"3": { "name": "Manager", "color": "green" }, "3": { "name": "Leader", "color": "green" },
}; };
document.querySelectorAll("img.identicon").forEach(function (e, i) { document.querySelectorAll("img.identicon").forEach(function (e, i) {
@ -336,4 +336,4 @@
// {{#each config}} {{#if grouptoggle}} // {{#each config}} {{#if grouptoggle}}
masterCheck("input_{{grouptoggle}}", "#g_{{group}} input"); masterCheck("input_{{grouptoggle}}", "#g_{{group}} input");
// {{/if}} {{/each}} // {{/if}} {{/each}}
</script> </script>