ldaü
All checks were successful
Deploy / deploy-staging (push) Successful in 58s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-06-15 01:03:55 +02:00
parent cd5525ff2e
commit 344dbb9b79
9 changed files with 854 additions and 18 deletions

View File

@@ -48,7 +48,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (($result['success'] ?? false) !== true) {
$errors = array_values(array_map('strval', (array) ($result['errors'] ?? [])));
} else {
$notice = 'Registrierung freigegeben. Ein LDIF-Entwurf für den inaktiven Benutzer wurde erzeugt.';
$notice = 'Registrierung freigegeben und als inaktiver LDAP-Benutzer angelegt.';
}
} elseif ($action === 'reject') {
$result = $registration->reject($selectedId, (string) ($_POST['reject_reason'] ?? ''), $reviewer);
@@ -79,7 +79,7 @@ $provisioning = is_array($selected['provisioning'] ?? null) ? $selected['provisi
<div class="login-panel-top">
<p class="login-kicker">Kusche.Berlin</p>
<h1>Registrierungsfreigaben</h1>
<p class="login-copy">Anfragen werden erst nach Prüfung für LDAP und NAS vorbereitet. Die Freigabe erzeugt aktuell einen LDIF-Entwurf für einen inaktiven Benutzer.</p>
<p class="login-copy">Anfragen werden erst nach Prüfung direkt ins LDAP geschrieben. Dabei werden auch Unix- und Samba-Felder gesetzt, der Benutzer bleibt aber zunächst inaktiv.</p>
</div>
<?php if ($notice !== null): ?>
@@ -185,8 +185,8 @@ $provisioning = is_array($selected['provisioning'] ?? null) ? $selected['provisi
</label>
<label class="login-field login-field-span-2">
<span>memberOf als CSV</span>
<input type="text" name="member_of_csv" value="<?= htmlspecialchars((string) ($provisioning['member_of_csv'] ?? 'cn=generaluser,cn=groups,dc=nas,dc=kusche,dc=berlin'), ENT_QUOTES) ?>">
<span>Gruppen-DNs, eine Zeile pro Eintrag</span>
<textarea name="member_of_list" rows="4"><?= htmlspecialchars((string) ($provisioning['member_of_list'] ?? "cn=generaluser,cn=groups,dc=nas,dc=kusche,dc=berlin"), ENT_QUOTES) ?></textarea>
</label>
</div>
@@ -196,7 +196,7 @@ $provisioning = is_array($selected['provisioning'] ?? null) ? $selected['provisi
</label>
<div class="login-actions">
<button class="login-button login-button-primary" type="submit" name="action" value="approve">Freigeben und LDIF erzeugen</button>
<button class="login-button login-button-primary" type="submit" name="action" value="approve">Freigeben und LDAP anlegen</button>
<button class="login-button login-button-danger" type="submit" name="action" value="reject">Ablehnen</button>
</div>
@@ -206,9 +206,26 @@ $provisioning = is_array($selected['provisioning'] ?? null) ? $selected['provisi
</label>
</form>
<?php if (((string) ($provisioning['ldap_dn'] ?? '')) !== ''): ?>
<div class="login-notice login-notice-success">
<strong>LDAP-Anlage</strong>
<p>DN: <?= htmlspecialchars((string) ($provisioning['ldap_dn'] ?? ''), ENT_QUOTES) ?></p>
<?php if (is_array($provisioning['group_updates'] ?? null) && $provisioning['group_updates'] !== []): ?>
<p>Gruppen: <?= htmlspecialchars(implode(', ', array_map('strval', $provisioning['group_updates'])), ENT_QUOTES) ?></p>
<?php endif; ?>
</div>
<?php endif; ?>
<?php if (((string) ($provisioning['error'] ?? '')) !== ''): ?>
<div class="login-notice login-notice-error">
<strong>Provisionierungsfehler</strong>
<p><?= htmlspecialchars((string) ($provisioning['error'] ?? ''), ENT_QUOTES) ?></p>
</div>
<?php endif; ?>
<?php if (((string) ($provisioning['ldif_path'] ?? '')) !== '' && is_file((string) $provisioning['ldif_path'])): ?>
<div class="login-notice login-notice-info">
<strong>LDIF-Entwurf</strong>
<strong>LDIF-Fallback</strong>
<p><?= htmlspecialchars((string) ($provisioning['ldif_path'] ?? ''), ENT_QUOTES) ?></p>
<pre class="login-pre"><?= htmlspecialchars((string) file_get_contents((string) $provisioning['ldif_path']), ENT_QUOTES) ?></pre>
</div>