82 lines
3.6 KiB
PHP
82 lines
3.6 KiB
PHP
<?php require __DIR__ . '/../partials/layout-top.php'; ?>
|
|
|
|
<section class="page-head">
|
|
<span class="eyebrow">Standortteam</span>
|
|
<h1>Mitglieder und Zugaenge</h1>
|
|
<p>Mitglieder koennen rein fachlich gefuehrt werden oder optional einen Login fuer die Selbstbuchung erhalten. PINs werden nach dem Speichern nicht mehr im Klartext angezeigt.</p>
|
|
</section>
|
|
|
|
<section class="card">
|
|
<span class="eyebrow">Export & Korrekturen</span>
|
|
<p class="muted">Hier ist bewusst Platz fuer spaetere CSV-Exporte, Sammelimporte und Statuskorrekturen reserviert, ohne dafuer heute schon neue Controllerlogik zu verlangen.</p>
|
|
<ul class="feature-list">
|
|
<li>Mitgliederliste als Export: Platzhalter fuer kuenftigen Download-Link</li>
|
|
<li>Login-, Rollen- oder PIN-Korrekturen: Platzhalter fuer Hinweise direkt am Datensatz</li>
|
|
<li>Self-Service-Logins bleiben getrennt von den Backoffice-Feldern des Standortteams</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<div class="two-column">
|
|
<form class="card form-card" method="post" action="<?= e(tenant_url($tenant['slug'], 'members')) ?>">
|
|
<?= csrf_field($csrf) ?>
|
|
<label>
|
|
<span>Anzeigename</span>
|
|
<input type="text" name="display_name" value="<?= e((string) old('display_name')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>Login-E-Mail fuer Self-Service</span>
|
|
<input type="email" name="email" value="<?= e((string) old('email')) ?>">
|
|
</label>
|
|
<label>
|
|
<span>Startpasswort fuer den ersten Login</span>
|
|
<input type="password" name="login_password" minlength="12">
|
|
</label>
|
|
<label>
|
|
<span>Optionale PIN fuer Kiosk / Tablet</span>
|
|
<input type="text" name="access_pin" value="<?= e((string) old('access_pin')) ?>">
|
|
</label>
|
|
<button class="button button-primary" type="submit">Mitglied speichern</button>
|
|
<p class="muted">Wenn eine Login-E-Mail gesetzt ist, wird automatisch ein Member-Login fuer die digitale Selbstbuchung angelegt.</p>
|
|
</form>
|
|
|
|
<section class="table-card">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Login</th>
|
|
<th>PIN-Status</th>
|
|
<th>Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($members as $member): ?>
|
|
<?php $loginEmail = (string) ($member['login_email'] ?: $member['email']); ?>
|
|
<?php $hasPin = trim((string) ($member['access_pin'] ?? '')) !== ''; ?>
|
|
<tr>
|
|
<td><?= e($member['display_name']) ?></td>
|
|
<td>
|
|
<?php if ($loginEmail !== ''): ?>
|
|
<strong>aktiv</strong><br>
|
|
<small><?= e($loginEmail) ?></small>
|
|
<?php else: ?>
|
|
<span class="muted">nur Listenprofil</span>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td>
|
|
<?php if ($hasPin): ?>
|
|
<code>****</code> hinterlegt
|
|
<?php else: ?>
|
|
<span class="muted">nicht gesetzt</span>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td><?= e($member['status']) ?></td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
</div>
|
|
|
|
<?php require __DIR__ . '/../partials/layout-bottom.php'; ?>
|