Spanisch Deutsch eingefügt Admin_userr,Umsatzübersicht, Seriennummer
This commit is contained in:
parent
7e5896bc90
commit
114f429429
@ -4,7 +4,29 @@
|
|||||||
"cancel": "Abbrechen",
|
"cancel": "Abbrechen",
|
||||||
"search": "Suchen",
|
"search": "Suchen",
|
||||||
"reset": "Reset",
|
"reset": "Reset",
|
||||||
"dashboard": "Dashboard"
|
"dashboard": "Dashboard",
|
||||||
|
"logout": "Logout",
|
||||||
|
"title":"Titel",
|
||||||
|
"firstname":"Vorname",
|
||||||
|
"lastname":"Nachname",
|
||||||
|
"username":"Username",
|
||||||
|
"role":"Rolle",
|
||||||
|
"action":"Aktionen",
|
||||||
|
"status":"Status",
|
||||||
|
"you":"Du Selbst",
|
||||||
|
"newuser":"Neuer benutzer",
|
||||||
|
"inactive":"inaktive",
|
||||||
|
"active":"aktive",
|
||||||
|
"closed":"gesperrt",
|
||||||
|
"filter":"Filtern",
|
||||||
|
"yearcash":"Jahresumsatz",
|
||||||
|
"monthcash":"Monatsumsatz",
|
||||||
|
"quartalcash":"Quartalsumsatz",
|
||||||
|
"year":"Jahr",
|
||||||
|
"nodata":"keine Daten",
|
||||||
|
"month":"Monat",
|
||||||
|
"patientcash":"Umsatz pro Patient",
|
||||||
|
"patient":"Patient"
|
||||||
},
|
},
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"patients": "Patienten",
|
"patients": "Patienten",
|
||||||
@ -19,8 +41,40 @@
|
|||||||
"waitingRoom": "Wartezimmer-Monitor",
|
"waitingRoom": "Wartezimmer-Monitor",
|
||||||
"noWaitingPatients": "Keine Patienten im Wartezimmer."
|
"noWaitingPatients": "Keine Patienten im Wartezimmer."
|
||||||
},
|
},
|
||||||
|
|
||||||
"adminSidebar": {
|
"adminSidebar": {
|
||||||
"users": "Userverwaltung",
|
"users": "Userverwaltung",
|
||||||
"database": "Datenbankverwaltung"
|
"database": "Datenbankverwaltung",
|
||||||
|
"user":"Benutzer",
|
||||||
|
"invocieoverview":"Rechnungsübersicht",
|
||||||
|
"seriennumber":"Seriennummer",
|
||||||
|
"databasetable":"Datenbank"
|
||||||
|
},
|
||||||
|
|
||||||
|
"adminuseroverview": {
|
||||||
|
"useroverview": "Benutzerübersicht",
|
||||||
|
"usermanagement": "Benutzer Verwaltung",
|
||||||
|
"user":"Benutzer",
|
||||||
|
"invocieoverview":"Rechnungsübersicht",
|
||||||
|
"seriennumber":"Seriennummer",
|
||||||
|
"databasetable":"Datenbank"
|
||||||
|
},
|
||||||
|
|
||||||
|
"seriennumber": {
|
||||||
|
"seriennumbertitle": "Seriennummer eingeben",
|
||||||
|
"seriennumbertext": "Bitte gib deine Lizenz-Seriennummer ein um die Software dauerhaft freizuschalten.",
|
||||||
|
"seriennumbershort":"Seriennummer (AAAAA-AAAAA-AAAAA-AAAAA)",
|
||||||
|
"seriennumberdeclaration":"Nur Buchstaben + Zahlen. Format: 4×5 Zeichen, getrennt mit „-“. ",
|
||||||
|
"saveseriennumber":"Seriennummer Speichern"
|
||||||
|
},
|
||||||
|
|
||||||
|
"databaseoverview": {
|
||||||
|
"title": "Datenbank Konfiguration",
|
||||||
|
"text":"Hier kannst du die DB-Verbindung testen und speichern. ",
|
||||||
|
"host": "Host",
|
||||||
|
"port":"Port",
|
||||||
|
"database":"Datenbank",
|
||||||
|
"password":"Password",
|
||||||
|
"connectiontest":"Verbindung testen"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,29 @@
|
|||||||
"cancel": "Cancelar",
|
"cancel": "Cancelar",
|
||||||
"search": "Buscar",
|
"search": "Buscar",
|
||||||
"reset": "Resetear",
|
"reset": "Resetear",
|
||||||
"dashboard": "Panel"
|
"dashboard": "Panel",
|
||||||
|
"logout": "cerrar sesión",
|
||||||
|
"title":"Título",
|
||||||
|
"firstname":"Nombre",
|
||||||
|
"lastname":"apellido",
|
||||||
|
"username":"Nombre de usuario",
|
||||||
|
"role":"desempeñar",
|
||||||
|
"action":"acción",
|
||||||
|
"status":"Estado",
|
||||||
|
"you":"su mismo",
|
||||||
|
"newuser":"Nuevo usuario",
|
||||||
|
"inactive":"inactivo",
|
||||||
|
"active":"activo",
|
||||||
|
"closed":"bloqueado",
|
||||||
|
"filter":"Filtro",
|
||||||
|
"yearcash":"volumen de negocios anual",
|
||||||
|
"monthcash":"volumen de negocios mensual",
|
||||||
|
"quartalcash":"volumen de negocios trimestral",
|
||||||
|
"year":"ano",
|
||||||
|
"nodata":"sin datos",
|
||||||
|
"month":"mes",
|
||||||
|
"patientcash":"Ingresos por paciente",
|
||||||
|
"patient":"paciente"
|
||||||
},
|
},
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"patients": "Pacientes",
|
"patients": "Pacientes",
|
||||||
@ -22,6 +44,37 @@
|
|||||||
|
|
||||||
"adminSidebar": {
|
"adminSidebar": {
|
||||||
"users": "Administración de usuarios",
|
"users": "Administración de usuarios",
|
||||||
"database": "Administración de base de datos"
|
"database": "Administración de base de datos",
|
||||||
|
"user":"usuario",
|
||||||
|
"invocieoverview":"Resumen de facturas",
|
||||||
|
"seriennumber":"número de serie",
|
||||||
|
"databasetable":"base de datos"
|
||||||
|
},
|
||||||
|
|
||||||
|
"adminuseroverview": {
|
||||||
|
"useroverview": "Resumen de usuarios",
|
||||||
|
"usermanagement": "Administración de usuarios",
|
||||||
|
"user":"usuario",
|
||||||
|
"invocieoverview":"Resumen de facturas",
|
||||||
|
"seriennumber":"número de serie",
|
||||||
|
"databasetable":"base de datos"
|
||||||
|
},
|
||||||
|
|
||||||
|
"seriennumber": {
|
||||||
|
"seriennumbertitle": "Introduce el número de serie",
|
||||||
|
"seriennumbertext": "Introduce el número de serie de tu licencia para activar el software de forma permanente.",
|
||||||
|
"seriennumbershort":"Número de serie (AAAAA-AAAAA-AAAAA-AAAAA)",
|
||||||
|
"seriennumberdeclaration":"Solo letras y números. Formato: 4×5 caracteres, separados por «-». ",
|
||||||
|
"saveseriennumber":"Guardar número de serie"
|
||||||
|
},
|
||||||
|
|
||||||
|
"databaseoverview": {
|
||||||
|
"title": "Configuración de la base de datos",
|
||||||
|
"host": "Host",
|
||||||
|
"port":"Puerto",
|
||||||
|
"database":"Base de datos",
|
||||||
|
"password":"Contraseña",
|
||||||
|
"connectiontest":"Probar conexión",
|
||||||
|
"text":"Aquí puedes probar y guardar la conexión a la base de datos. "
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<!-- ✅ Header -->
|
<!-- ✅ Header -->
|
||||||
<%- include("../partials/page-header", {
|
<%- include("../partials/page-header", {
|
||||||
user,
|
user,
|
||||||
title: "Rechnungsübersicht",
|
title: t.adminSidebar.invocieoverview,
|
||||||
subtitle: "",
|
subtitle: "",
|
||||||
showUserName: true
|
showUserName: true
|
||||||
}) %>
|
}) %>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button class="btn btn-outline-secondary">Filtern</button>
|
<button class="btn btn-outline-secondary"><%= t.global.filter %></button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
@ -43,12 +43,12 @@
|
|||||||
<!-- JAHRESUMSATZ -->
|
<!-- JAHRESUMSATZ -->
|
||||||
<div class="col-xl-3 col-lg-6">
|
<div class="col-xl-3 col-lg-6">
|
||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<div class="card-header fw-semibold">Jahresumsatz</div>
|
<div class="card-header fw-semibold"><%= t.global.yearcash%></div>
|
||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
<table class="table table-sm table-striped mb-0">
|
<table class="table table-sm table-striped mb-0">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Jahr</th>
|
<th><%= t.global.year%></th>
|
||||||
<th class="text-end">€</th>
|
<th class="text-end">€</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<% if (!yearly || yearly.length === 0) { %>
|
<% if (!yearly || yearly.length === 0) { %>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2" class="text-center text-muted">
|
<td colspan="2" class="text-center text-muted">
|
||||||
Keine Daten
|
<%= t.global.nodata%>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% } %>
|
<% } %>
|
||||||
@ -78,12 +78,12 @@
|
|||||||
<!-- QUARTALSUMSATZ -->
|
<!-- QUARTALSUMSATZ -->
|
||||||
<div class="col-xl-3 col-lg-6">
|
<div class="col-xl-3 col-lg-6">
|
||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<div class="card-header fw-semibold">Quartalsumsatz</div>
|
<div class="card-header fw-semibold"><%= t.global.quartalcash%></div>
|
||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
<table class="table table-sm table-striped mb-0">
|
<table class="table table-sm table-striped mb-0">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Jahr</th>
|
<th><%= t.global.year%></th>
|
||||||
<th>Q</th>
|
<th>Q</th>
|
||||||
<th class="text-end">€</th>
|
<th class="text-end">€</th>
|
||||||
</tr>
|
</tr>
|
||||||
@ -92,7 +92,7 @@
|
|||||||
<% if (!quarterly || quarterly.length === 0) { %>
|
<% if (!quarterly || quarterly.length === 0) { %>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3" class="text-center text-muted">
|
<td colspan="3" class="text-center text-muted">
|
||||||
Keine Daten
|
<%= t.global.nodata%>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% } %>
|
<% } %>
|
||||||
@ -115,12 +115,12 @@
|
|||||||
<!-- MONATSUMSATZ -->
|
<!-- MONATSUMSATZ -->
|
||||||
<div class="col-xl-3 col-lg-6">
|
<div class="col-xl-3 col-lg-6">
|
||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<div class="card-header fw-semibold">Monatsumsatz</div>
|
<div class="card-header fw-semibold"><%= t.global.monthcash%></div>
|
||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
<table class="table table-sm table-striped mb-0">
|
<table class="table table-sm table-striped mb-0">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Monat</th>
|
<th><%= t.global.month%></th>
|
||||||
<th class="text-end">€</th>
|
<th class="text-end">€</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -128,7 +128,7 @@
|
|||||||
<% if (!monthly || monthly.length === 0) { %>
|
<% if (!monthly || monthly.length === 0) { %>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2" class="text-center text-muted">
|
<td colspan="2" class="text-center text-muted">
|
||||||
Keine Daten
|
<%= t.global.nodata%>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% } %>
|
<% } %>
|
||||||
@ -150,7 +150,7 @@
|
|||||||
<!-- UMSATZ PRO PATIENT -->
|
<!-- UMSATZ PRO PATIENT -->
|
||||||
<div class="col-xl-3 col-lg-6">
|
<div class="col-xl-3 col-lg-6">
|
||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<div class="card-header fw-semibold">Umsatz pro Patient</div>
|
<div class="card-header fw-semibold"><%= t.global.patientcash%></div>
|
||||||
<div class="card-body p-2">
|
<div class="card-body p-2">
|
||||||
|
|
||||||
<!-- Suche -->
|
<!-- Suche -->
|
||||||
@ -166,20 +166,20 @@
|
|||||||
placeholder="Patient suchen..."
|
placeholder="Patient suchen..."
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<button class="btn btn-sm btn-outline-primary">Suchen</button>
|
<button class="btn btn-sm btn-outline-primary"><%= t.global.search%></button>
|
||||||
|
|
||||||
<a
|
<a
|
||||||
href="/admin/invoices?fromYear=<%= fromYear %>&toYear=<%= toYear %>"
|
href="/admin/invoices?fromYear=<%= fromYear %>&toYear=<%= toYear %>"
|
||||||
class="btn btn-sm btn-outline-secondary"
|
class="btn btn-sm btn-outline-secondary"
|
||||||
>
|
>
|
||||||
Reset
|
<%= t.global.reset%>
|
||||||
</a>
|
</a>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<table class="table table-sm table-striped mb-0">
|
<table class="table table-sm table-striped mb-0">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Patient</th>
|
<th><%= t.global.patient%></th>
|
||||||
<th class="text-end">€</th>
|
<th class="text-end">€</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -187,7 +187,7 @@
|
|||||||
<% if (!patients || patients.length === 0) { %>
|
<% if (!patients || patients.length === 0) { %>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2" class="text-center text-muted">
|
<td colspan="2" class="text-center text-muted">
|
||||||
Keine Daten
|
<%= t.global.nodata%>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
<!-- ✅ HEADER (wie Dashboard) -->
|
<!-- ✅ HEADER (wie Dashboard) -->
|
||||||
<%- include("../partials/page-header", {
|
<%- include("../partials/page-header", {
|
||||||
user,
|
user,
|
||||||
title: "Datenbankverwaltung",
|
title: t.adminSidebar.database,
|
||||||
subtitle: "",
|
subtitle: "",
|
||||||
showUserName: true,
|
showUserName: true,
|
||||||
hideDashboardButton: true
|
hideDashboardButton: true
|
||||||
@ -29,18 +29,18 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
||||||
<h4 class="mb-3">
|
<h4 class="mb-3">
|
||||||
<i class="bi bi-sliders"></i> Datenbank Konfiguration
|
<i class="bi bi-sliders"></i> <%= t.databaseoverview.title%>
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<p class="text-muted mb-4">
|
<p class="text-muted mb-4">
|
||||||
Hier kannst du die DB-Verbindung testen und speichern.
|
<%= t.databaseoverview.tittexte%>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<!-- ✅ TEST + SPEICHERN -->
|
<!-- ✅ TEST + SPEICHERN -->
|
||||||
<form method="POST" action="/admin/database/test" class="row g-3 mb-3" autocomplete="off">
|
<form method="POST" action="/admin/database/test" class="row g-3 mb-3" autocomplete="off">
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">Host / IP</label>
|
<label class="form-label"><%= t.databaseoverview.host%> / IP</label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
name="host"
|
name="host"
|
||||||
@ -52,7 +52,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<label class="form-label">Port</label>
|
<label class="form-label"><%= t.databaseoverview.port%></label>
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
name="port"
|
name="port"
|
||||||
@ -64,7 +64,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<label class="form-label">Datenbank</label>
|
<label class="form-label"><%= t.databaseoverview.database%></label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
name="name"
|
name="name"
|
||||||
@ -76,7 +76,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">Benutzer</label>
|
<label class="form-label"><%= t.global.user%></label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
name="user"
|
name="user"
|
||||||
@ -88,7 +88,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">Passwort</label>
|
<label class="form-label"><%= t.databaseoverview.password%></label>
|
||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
name="password"
|
name="password"
|
||||||
@ -102,7 +102,7 @@
|
|||||||
<div class="col-12 d-flex flex-wrap gap-2">
|
<div class="col-12 d-flex flex-wrap gap-2">
|
||||||
|
|
||||||
<button type="submit" class="btn btn-outline-primary">
|
<button type="submit" class="btn btn-outline-primary">
|
||||||
<i class="bi bi-plug"></i> Verbindung testen
|
<i class="bi bi-plug"></i> <%= t.databaseoverview.connectiontest%>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
@ -110,7 +110,7 @@
|
|||||||
class="btn btn-success"
|
class="btn btn-success"
|
||||||
formaction="/admin/database"
|
formaction="/admin/database"
|
||||||
>
|
>
|
||||||
<i class="bi bi-save"></i> Speichern
|
<i class="bi bi-save"></i> <%= t.global.save%>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<!-- ✅ HEADER -->
|
<!-- ✅ HEADER -->
|
||||||
<%- include("partials/page-header", {
|
<%- include("partials/page-header", {
|
||||||
user,
|
user,
|
||||||
title: "User Verwaltung",
|
title: t.adminuseroverview.usermanagement,
|
||||||
subtitle: "",
|
subtitle: "",
|
||||||
showUserName: true
|
showUserName: true
|
||||||
}) %>
|
}) %>
|
||||||
@ -20,11 +20,11 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
||||||
<div class="d-flex align-items-center justify-content-between mb-3">
|
<div class="d-flex align-items-center justify-content-between mb-3">
|
||||||
<h4 class="mb-0">Benutzerübersicht</h4>
|
<h4 class="mb-0"><%= t.adminuseroverview.useroverview %></h4>
|
||||||
|
|
||||||
<a href="/admin/create-user" class="btn btn-primary">
|
<a href="/admin/create-user" class="btn btn-primary">
|
||||||
<i class="bi bi-plus-circle"></i>
|
<i class="bi bi-plus-circle"></i>
|
||||||
Neuer Benutzer
|
<%= t.global.newuser %>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -34,13 +34,13 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>ID</th>
|
<th>ID</th>
|
||||||
<th>Titel</th>
|
<th><%= t.global.title %></th>
|
||||||
<th>Vorname</th>
|
<th><%= t.global.firstname %></th>
|
||||||
<th>Nachname</th>
|
<th><%= t.global.lastname %></th>
|
||||||
<th>Username</th>
|
<th><%= t.global.username %></th>
|
||||||
<th>Rolle</th>
|
<th><%= t.global.role %></th>
|
||||||
<th class="text-center">Status</th>
|
<th class="text-center"><%= t.global.status %></th>
|
||||||
<th>Aktionen</th>
|
<th><%= t.global.action %></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
@ -79,11 +79,11 @@
|
|||||||
|
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<% if (u.active === 0) { %>
|
<% if (u.active === 0) { %>
|
||||||
<span class="badge bg-secondary">Inaktiv</span>
|
<span class="badge bg-secondary"><%= t.global.inactive %></span>
|
||||||
<% } else if (u.lock_until && new Date(u.lock_until) > new Date()) { %>
|
<% } else if (u.lock_until && new Date(u.lock_until) > new Date()) { %>
|
||||||
<span class="badge bg-danger">Gesperrt</span>
|
<span class="badge bg-danger"><%= t.global.closed %></span>
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<span class="badge bg-success">Aktiv</span>
|
<span class="badge bg-success"><%= t.global.active %></span>
|
||||||
<% } %>
|
<% } %>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
@ -109,7 +109,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<span class="badge bg-light text-dark border">👤 Du selbst</span>
|
<span class="badge bg-light text-dark border">👤 <%= t.global.you %></span>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
class="nav-item <%= active === 'users' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
class="nav-item <%= active === 'users' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
||||||
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
||||||
>
|
>
|
||||||
<i class="bi bi-people"></i> Benutzer
|
<i class="bi bi-people"></i> <%= t.adminSidebar.user %>
|
||||||
<% if (!isAdmin) { %>
|
<% if (!isAdmin) { %>
|
||||||
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
||||||
<% } %>
|
<% } %>
|
||||||
@ -44,7 +44,7 @@
|
|||||||
class="nav-item <%= active === 'invoice_overview' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
class="nav-item <%= active === 'invoice_overview' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
||||||
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
||||||
>
|
>
|
||||||
<i class="bi bi-calculator"></i> Rechnungsübersicht
|
<i class="bi bi-calculator"></i> <%= t.adminSidebar.invocieoverview %>
|
||||||
<% if (!isAdmin) { %>
|
<% if (!isAdmin) { %>
|
||||||
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
||||||
<% } %>
|
<% } %>
|
||||||
@ -57,7 +57,7 @@
|
|||||||
class="nav-item <%= active === 'serialnumber' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
class="nav-item <%= active === 'serialnumber' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
||||||
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
||||||
>
|
>
|
||||||
<i class="bi bi-key"></i> Seriennummer
|
<i class="bi bi-key"></i> <%= t.adminSidebar.seriennumber %>
|
||||||
<% if (!isAdmin) { %>
|
<% if (!isAdmin) { %>
|
||||||
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
||||||
<% } %>
|
<% } %>
|
||||||
@ -69,7 +69,7 @@
|
|||||||
class="nav-item <%= active === 'database' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
class="nav-item <%= active === 'database' ? 'active' : '' %> <%= lockClass(isAdmin) %>"
|
||||||
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
title="<%= isAdmin ? '' : 'Nur Admin' %>"
|
||||||
>
|
>
|
||||||
<i class="bi bi-hdd-stack"></i> Datenbank
|
<i class="bi bi-hdd-stack"></i> <%= t.adminSidebar.databasetable %>
|
||||||
<% if (!isAdmin) { %>
|
<% if (!isAdmin) { %>
|
||||||
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|||||||
@ -58,7 +58,7 @@
|
|||||||
class="nav-item <%= active === 'patients' ? 'active' : '' %> <%= lockClass(canDoctorAndStaff) %>"
|
class="nav-item <%= active === 'patients' ? 'active' : '' %> <%= lockClass(canDoctorAndStaff) %>"
|
||||||
title="<%= canDoctorAndStaff ? '' : 'Nur Arzt + Mitarbeiter' %>"
|
title="<%= canDoctorAndStaff ? '' : 'Nur Arzt + Mitarbeiter' %>"
|
||||||
>
|
>
|
||||||
<i class="bi bi-people"></i> <%= t.sidebar.patients %>
|
<i class="bi bi-people"></i> <%= t.sidebar.patients %>
|
||||||
<% if (!canDoctorAndStaff) { %>
|
<% if (!canDoctorAndStaff) { %>
|
||||||
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
<span style="margin-left:auto;"><i class="bi bi-lock-fill"></i></span>
|
||||||
<% } %>
|
<% } %>
|
||||||
@ -116,7 +116,7 @@
|
|||||||
|
|
||||||
<!-- ✅ Logout -->
|
<!-- ✅ Logout -->
|
||||||
<a href="/logout" class="nav-item">
|
<a href="/logout" class="nav-item">
|
||||||
<i class="bi bi-box-arrow-right"></i> Logout
|
<i class="bi bi-box-arrow-right"></i> <%= t.sidebar.logout %>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -15,10 +15,10 @@
|
|||||||
|
|
||||||
<div class="content" style="max-width:650px; margin:30px auto;">
|
<div class="content" style="max-width:650px; margin:30px auto;">
|
||||||
|
|
||||||
<h2>🔑 Seriennummer eingeben</h2>
|
<h2>🔑 <%= t.seriennumber.seriennumbertitle %></h2>
|
||||||
|
|
||||||
<p style="color:#777;">
|
<p style="color:#777;">
|
||||||
Bitte gib deine Lizenz-Seriennummer ein um die Software dauerhaft freizuschalten.
|
<%= t.seriennumber.seriennumbertext %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<% if (error) { %>
|
<% if (error) { %>
|
||||||
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
<form method="POST" action="/admin/serial-number" style="max-width: 500px;">
|
<form method="POST" action="/admin/serial-number" style="max-width: 500px;">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Seriennummer (AAAAA-AAAAA-AAAAA-AAAAA)</label>
|
<label><%= t.seriennumber.seriennumbershort %></label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
name="serial_number"
|
name="serial_number"
|
||||||
@ -42,12 +42,12 @@
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
<small style="color:#777; display:block; margin-top:6px;">
|
<small style="color:#777; display:block; margin-top:6px;">
|
||||||
Nur Buchstaben + Zahlen. Format: 4×5 Zeichen, getrennt mit „-“.
|
<%= t.seriennumber.seriennumberdeclaration %>
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button class="btn btn-primary" style="margin-top: 15px;">
|
<button class="btn btn-primary" style="margin-top: 15px;">
|
||||||
Seriennummer speichern
|
<%= t.seriennumber.saveseriennumber %>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user