query('SELECT id, name FROM staff WHERE is_active = 1 ORDER BY name')->fetchAll(); $labels = vertretung_status_labels(); $names = []; foreach ($people as $p) $names[(int) $p['id']] = $p['name']; $name = fn($id) => e($names[(int) $id] ?? vertretung_name($pdo, (int) $id)); $current = $pdo->query("SELECT a.*, (SELECT COUNT(*) FROM plugin_vertretung_moves m WHERE m.absence_id = a.id) AS moved, (SELECT COUNT(*) FROM plugin_vertretung_moves m WHERE m.absence_id = a.id AND m.returned_at IS NULL) AS holding FROM plugin_vertretung_absences a WHERE a.status IN ('planned','active') ORDER BY a.start_date, a.id")->fetchAll(); $past = $pdo->query("SELECT a.*, (SELECT COUNT(*) FROM plugin_vertretung_moves m WHERE m.absence_id = a.id) AS moved FROM plugin_vertretung_absences a WHERE a.status NOT IN ('planned','active') ORDER BY a.id DESC LIMIT 20")->fetchAll(); ?>
Keine Abwesenheiten eingetragen.
| Wer | Vertretung | Zeitraum | Stand | Tickets | Die Vertretung sieht | |
|---|---|---|---|---|---|---|
| = $name($a['staff_id']) ?> = e((string) $a['note']) ?> |
= $name($a['substitute_id']) ?> | = e(vertretung_date((string) $a['start_date'])) ?> – = e(vertretung_date((string) $a['end_date'])) ?> | = e($labels[$a['status']] ?? $a['status']) ?> | = $a['status'] === 'active' ? (int) $a['holding'] . ' bei der Vertretung' : '–' ?> | = $absentAdmin ? 'Abteilungen der übernommenen Tickets' : ($deptNames ? e(implode(', ', $deptNames)) : '–') ?> |
| Wer | Vertretung | Zeitraum | Ergebnis | Weitergegeben |
|---|---|---|---|---|
| = $name($a['staff_id']) ?> | = $name($a['substitute_id']) ?> | = e(vertretung_date((string) $a['start_date'])) ?> – = e(vertretung_date((string) $a['end_date'])) ?> | = e($labels[$a['status']] ?? $a['status']) ?> | = (int) $a['moved'] ?> Tickets |