From cd2781bdff4b7a8dee135e86859c832f8b3baeee Mon Sep 17 00:00:00 2001 From: sysops Date: Fri, 20 Mar 2026 02:18:41 +0100 Subject: [PATCH] fix: Mandanten-Nutzerdialog Fehlerhandling + LDAP-Hinweis MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fehlerstate für Nutzer-Dialog: API-Fehler werden jetzt angezeigt statt silent ignoriert - LDAP-Hinweis: wenn LDAP aktiv aber keine lokalen User da sind, erklärender Text "LDAP ist aktiv — Benutzer erscheinen hier nach ihrem ersten Login" - tenantUsersDialogLdap State: speichert ob Tenant LDAP aktiviert hat Co-Authored-By: Claude Sonnet 4.6 --- src/app/admin/page.tsx | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index 2fd3f6b..1370ddd 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -242,8 +242,10 @@ export default function AdminPage() { // Tenant users dialog const [tenantUsersDialogId, setTenantUsersDialogId] = useState(null); const [tenantUsersDialogName, setTenantUsersDialogName] = useState(""); + const [tenantUsersDialogLdap, setTenantUsersDialogLdap] = useState(false); const [tenantUsers, setTenantUsers] = useState([]); const [tenantUsersLoading, setTenantUsersLoading] = useState(false); + const [tenantUsersError, setTenantUsersError] = useState(""); // Labels state const [adminLabels, setAdminLabels] = useState([]); @@ -757,13 +759,18 @@ export default function AdminPage() { async function openUsersDialog(t: Tenant) { setTenantUsersDialogId(t.id); setTenantUsersDialogName(t.name); + setTenantUsersDialogLdap(t.ldap_enabled === true); setTenantUsersLoading(true); setTenantUsers([]); + setTenantUsersError(""); try { const users = await getTenantUsers(t.id); setTenantUsers(users || []); - } catch { /* ignore */ } - finally { setTenantUsersLoading(false); } + } catch (err: unknown) { + setTenantUsersError(err instanceof Error ? err.message : "Nutzer konnten nicht geladen werden."); + } finally { + setTenantUsersLoading(false); + } } async function handleAddDomain() { @@ -2595,8 +2602,17 @@ export default function AdminPage() { {tenantUsersLoading ? ( + ) : tenantUsersError ? ( + + {tenantUsersError} + ) : tenantUsers.length === 0 ? ( -

Keine Benutzer diesem Mandanten zugewiesen.

+
+

Keine lokalen Benutzer diesem Mandanten zugewiesen.

+ {tenantUsersDialogLdap && ( +

LDAP ist aktiv — Benutzer erscheinen hier nach ihrem ersten Login.

+ )} +
) : (