feat(seed): sieben Vorlagen, Beispielbestand und Demo-Kunden (#33)
This commit was merged in pull request #33.
This commit is contained in:
@@ -356,6 +356,7 @@ const BEISPIELWERTE: Record<string, string> = {
|
||||
dn: "CN=Anna Beispiel,OU=Vertrieb,DC=muster,DC=example",
|
||||
ou: "OU=Vertrieb,DC=muster,DC=example",
|
||||
gruppen: "G-Vertrieb, G-Drucker-EG",
|
||||
ou_gesperrt: "OU=Gesperrt,OU=Benutzer,DC=muster,DC=example",
|
||||
generiertes_passwort: BEISPIEL_PASSWORT,
|
||||
};
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
* zweite Aufzaehlung an anderer Stelle wuerde unweigerlich auseinanderlaufen.
|
||||
*/
|
||||
|
||||
export type PlatzhalterQuelle = "GERAET_LAUF" | "MITARBEITER" | "ABTEILUNG" | "BESONDERS";
|
||||
export type PlatzhalterQuelle = "GERAET_LAUF" | "MITARBEITER" | "ABTEILUNG" | "EINSTELLUNG" | "BESONDERS";
|
||||
|
||||
export type EingebauterPlatzhalter = {
|
||||
readonly schluessel: string;
|
||||
@@ -65,6 +65,13 @@ export const EINGEBAUTE_PLATZHALTER: readonly EingebauterPlatzhalter[] = [
|
||||
},
|
||||
{ schluessel: "gruppen", quelle: "ABTEILUNG", erklaerung: "Standardgruppen, kommagetrennt" },
|
||||
|
||||
// Aus den Einstellungen
|
||||
{
|
||||
schluessel: "ou_gesperrt",
|
||||
quelle: "EINSTELLUNG",
|
||||
erklaerung: "Ziel-OU für deaktivierte Konten, aus Admin → Einstellungen",
|
||||
},
|
||||
|
||||
// Besonders
|
||||
{
|
||||
schluessel: "generiertes_passwort",
|
||||
@@ -78,6 +85,7 @@ export const QUELLEN_TEXT: Record<PlatzhalterQuelle, string> = {
|
||||
GERAET_LAUF: "Gerät und Lauf",
|
||||
MITARBEITER: "Mitarbeiter",
|
||||
ABTEILUNG: "Abteilung",
|
||||
EINSTELLUNG: "Einstellungen",
|
||||
BESONDERS: "Besonders",
|
||||
};
|
||||
|
||||
|
||||
@@ -316,8 +316,18 @@ export async function laufZumAbarbeiten(
|
||||
schrittId: schritt.id,
|
||||
ergebnisId: ergebnis?.id ?? null,
|
||||
nummer,
|
||||
titel: platzhalterErsetzen(schritt.titel, werte).text,
|
||||
hilfetext: schritt.hilfetext ? platzhalterErsetzen(schritt.hilfetext, werte).text : null,
|
||||
/*
|
||||
* **Dasselbe Passwort wie im Befehl.** Titel und Hilfetext bekommen das
|
||||
* Passwort dieses Seitenaufbaus mit, nicht jeweils ein eigenes. Ohne das
|
||||
* `passwort`-Argument erzeugt jede Aufloesung ein neues: im Befehl stuende
|
||||
* A, im Hilfetext daneben B — das Konto bekaeme A, der Benutzer erfuehre
|
||||
* B, und A waere danach weg. Genau davor warnt `platzhalter-werte.ts` in
|
||||
* Regel 4 seiner eigenen Kopfdokumentation (Reviewbefund zu #017).
|
||||
*/
|
||||
titel: platzhalterErsetzen(schritt.titel, werte, { art: "anzeige" }, passwort).text,
|
||||
hilfetext: schritt.hilfetext
|
||||
? platzhalterErsetzen(schritt.hilfetext, werte, { art: "anzeige" }, passwort).text
|
||||
: null,
|
||||
typ: schritt.typ,
|
||||
pflicht: schritt.pflicht,
|
||||
dokuUrl: schritt.dokuUrl,
|
||||
|
||||
@@ -171,6 +171,22 @@ export async function platzhalterWerteDesLaufs(kontext: LaufKontext): Promise<Pl
|
||||
if (werte["ou"] === undefined) setzen(werte, "ou", alsText(lauf.abteilung.zielOu));
|
||||
}
|
||||
|
||||
/*
|
||||
* --- Aus den Einstellungen ---
|
||||
*
|
||||
* Die Ziel-OU fuer deaktivierte Konten steht global in `Einstellung` und wird
|
||||
* im Offboarding gebraucht. Sie stand dort schon, wurde aber von keinem
|
||||
* Platzhalter gelesen: `Move-ADObject -TargetPath "{{ou_gesperrt}}"` blieb leer,
|
||||
* obwohl die Einstellungsseite „Wird beim Offboarding vorbelegt“ verspricht
|
||||
* (Reviewbefund zu #017). Eine Variable gleichen Namens gewinnt weiter — sie
|
||||
* steht weiter unten.
|
||||
*/
|
||||
const einstellung = await prisma.einstellung.findUnique({
|
||||
where: { id: "global" },
|
||||
select: { gesperrteOu: true },
|
||||
});
|
||||
setzen(werte, "ou_gesperrt", alsText(einstellung?.gesperrteOu));
|
||||
|
||||
/*
|
||||
* --- Vorlagenvariablen ---
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user