"use client"; import { useActionState } from "react"; import { Button } from "@/components/ui/button"; import { einstellungenSpeichernAktion, type AktionsErgebnis } from "@/server/actions/einstellungen"; const FELD = "min-h-11 rounded-karte border border-linie bg-grund px-3 text-sm text-text outline-none focus-visible:border-akzent"; export type EinstellungsWerte = { readonly eigeneOrganisationName: string; readonly gesperrteOu: string; readonly regeln: { readonly upn: string; readonly sam: string; readonly mail: string; readonly hostname: string; }; /** Im Modus Dienstleistung heisst die Organisation in der Oberflaeche "Kunde". */ readonly kundenEbeneSichtbar: boolean; }; const REGELN = [ { name: "regel_upn", beschriftung: "UPN", schluessel: "upn", beispiel: "{vorname}.{nachname}@firma.de", }, { name: "regel_sam", beschriftung: "Anmeldename (sam)", schluessel: "sam", beispiel: "{v}{nachname}" }, { name: "regel_mail", beschriftung: "Mail", schluessel: "mail", beispiel: "{vorname}.{nachname}@firma.de" }, { name: "regel_hostname", beschriftung: "Hostname", schluessel: "hostname", beispiel: "PC-{nnn}" }, ] as const; export function EinstellungsFormular({ werte }: { werte: EinstellungsWerte }) { const [ergebnis, aktion, laeuft] = useActionState( einstellungenSpeichernAktion, {}, ); return (

{werte.kundenEbeneSichtbar ? "Eigene Organisation" : "Organisation"}

{werte.kundenEbeneSichtbar ? "Der eigene Betrieb, der im Modus Dienstleistung als erster Kunde geführt wird." : "Im Modus Intern erscheint dieser Name nirgends in der Oberfläche. Er wird erst sichtbar, wenn du auf Dienstleistung umstellst."}

Namensregeln

Vorlagen für UPN, Anmeldename, Mail und Hostname. Beim Start eines Laufs werden daraus Vorschläge berechnet, die der Techniker überschreiben kann. Platzhalter:{" "} {"{vorname}"}, {"{nachname}"},{" "} {"{v}"} für den ersten Buchstaben des Vornamens,{" "} {"{nnn}"} für eine fortlaufende Nummer {werte.kundenEbeneSichtbar ? ( <> {" "} und {"{kundenkuerzel}"} ) : null} .

{REGELN.map((regel) => ( ))}

Sperr-OU

Ziel-OU für deaktivierte Konten. Wird beim Offboarding vorbelegt.

{ergebnis.fehler ? (

{ergebnis.fehler}

) : null} {ergebnis.erfolg ? (

{ergebnis.erfolg}

) : null}
); }