77 lines
3.3 KiB
PHP
77 lines
3.3 KiB
PHP
<?php require __DIR__ . '/../partials/layout-top.php'; ?>
|
|
|
|
<section class="page-head">
|
|
<span class="eyebrow">Kaffeeliste</span>
|
|
<h1>Mitglieder der Kaffeeliste</h1>
|
|
<p>Legen Sie alle Personen an, die Kaffee buchen oder auf Papierlisten stehen. Ein Login ist nur nötig, wenn Mitglieder selbst buchen sollen. PINs werden nach dem Speichern nicht mehr im Klartext angezeigt.</p>
|
|
</section>
|
|
|
|
<div class="two-column">
|
|
<form class="card form-card" method="post" action="<?= e(tenant_url($tenant['slug'], 'members')) ?>">
|
|
<?= csrf_field($csrf) ?>
|
|
<label>
|
|
<span>Name auf der Kaffeeliste</span>
|
|
<input type="text" name="display_name" value="<?= e((string) old('display_name')) ?>" required>
|
|
</label>
|
|
<label>
|
|
<span>E-Mail für eigenen Login</span>
|
|
<input type="email" name="email" value="<?= e((string) old('email')) ?>">
|
|
</label>
|
|
<label>
|
|
<span>Startpasswort für Selbstbuchung</span>
|
|
<input type="password" name="login_password" minlength="12">
|
|
</label>
|
|
<label>
|
|
<span>PIN für Kiosk oder Tablet</span>
|
|
<input type="text" name="access_pin" value="<?= e((string) old('access_pin')) ?>">
|
|
</label>
|
|
<button class="button button-primary" type="submit">Mitglied anlegen</button>
|
|
<p class="muted">Ohne E-Mail bleibt das Mitglied ein Listenprofil für Nachträge und Papierlisten.</p>
|
|
</form>
|
|
|
|
<section class="table-card">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Selbstbuchung</th>
|
|
<th>Kiosk-PIN</th>
|
|
<th>Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php if ($members === []): ?>
|
|
<tr>
|
|
<td class="table-empty" colspan="4">Noch keine Mitglieder. Legen Sie das erste Mitglied links im Formular an.</td>
|
|
</tr>
|
|
<?php endif; ?>
|
|
<?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 Verwaltung oder Papierliste</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'; ?>
|