{{-- DUTY ROSTER — PRINTABLE VIEW ──────────────────────────── Standalone page (no app layout) optimized for paper. Opens in a new tab, auto-triggers the browser's print dialog so the user can either print directly or save as PDF (most browsers offer "Save as PDF" as a destination in the print dialog — that's how the user "downloads" the rota for emailing to staff). Receives: $weekStart, $weekEnd, $weekDates, $rosterGrid (2D [shift][date]=>[entries]), $filterDeptName (or null), $hospitalName, $generatedAt, $generatedBy. --}}
| Shift | @foreach($weekDates as $d) @php $isToday = $d->isToday(); @endphp{{ $d->format('D') }} {{ $d->format('d M') }} | @endforeach
|---|---|
| {{ strtoupper($meta['label']) }} {{ $meta['time'] }} | @foreach($weekDates as $d) @php $isToday = $d->isToday(); $entries = $rosterGrid[$shiftKey][$d->toDateString()] ?? []; @endphp
@forelse($entries as $entry)
@php
$isLocum = $entry->assignee_type === 'locum';
$name = $entry->assignee_name;
$deptName = $entry->department->name ?? '—';
@endphp
{{ $name }}
@if($isLocum)L@endif
{{ $deptName }}
—
@endforelse
|
@endforeach