import Link from "next/link"; import { redirect } from "next/navigation"; import { requireSession } from "@/server/auth"; import { dbForTenant } from "@/server/db"; import { hasPermission } from "@/server/rbac"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { PageHead, Pill } from "@/components/mockup-ui"; import { MODULES } from "@/lib/modules"; import { updateTenantSettings } from "@/server/actions/tenant-settings"; const inputCls = "h-9 w-full rounded-md border border-input bg-transparent px-3 text-sm"; export default async function SettingsPage() { const session = await requireSession(); if (!hasPermission(session, "tenant:manage")) redirect("/dashboard"); const db = dbForTenant(session.user.tenantId); const [s, moduleRows] = await Promise.all([ db.tenantSettings.findUnique({ where: { tenantId: session.user.tenantId } }), db.tenantModule.findMany(), ]); const enabled = new Set(moduleRows.filter((m) => m.enabled).map((m) => m.moduleKey)); const v = (x?: string | null) => x ?? ""; return (
{(hasPermission(session, "user:manage") || hasPermission(session, "role:manage")) && (

Benutzer & Rollen

Benutzer anlegen/verwalten, Rollen und Berechtigungen pflegen (mandantenintern).

Öffnen → )}
{/* Unternehmensdaten */}

Unternehmensdaten

Diese Werte füttern automatisch die Template-Variablen des Richtlinienmoduls (eine Pflegestelle).