First Aid list, amount list and kitchen list PDF download implemented

This commit is contained in:
2026-03-28 22:28:55 +01:00
parent 7bea223ded
commit 2d17e61cc8
6 changed files with 408 additions and 0 deletions

View File

@@ -0,0 +1,128 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<style>
@page {
margin: 15mm 10mm;
}
body {
font-family: DejaVu Sans, sans-serif;
font-size: 10pt;
}
table {
width: 100%;
border-collapse: collapse;
margin-bottom: 8mm;
}
th, td {
border: 1px solid #000;
padding: 6px 8px;
vertical-align: top;
}
td {
font-size: 8pt;
}
th {
background: #f2f2f2;
font-weight: bold;
}
.page-break {
page-break-after: always;
}
</style>
</head>
<body>
@php
use App\Enumerations\EatingHabit;$rows = $rows ?? [];
$chunks = array_chunk($rows, 8);
$eventStart = \Carbon\Carbon::parse($eventStart);
$eventEnd = \Carbon\Carbon::parse($eventEnd);
$days = \Carbon\CarbonPeriod::create($eventStart->startOfDay(), $eventEnd->startOfDay());
@endphp
<h1>Küchenübersicht {{$event}}</h1>
<table>
<thead>
<tr>
<th rowspan="2" style="width: 2.5cm;">Datum</th>
<th colspan="3">Frühstück</th>
<th colspan="3">Mittag</th>
<th colspan="3">Abendessen</th>
</tr>
<tr class="subheader">
<th style="width: 2.2cm;">vegan</th>
<th style="width: 2.2cm;">vegetarisch</th>
<th style="width: 2.2cm;">omnivor</th>
<th style="width: 2.2cm;">vegan</th>
<th style="width: 2.2cm;">vegetarisch</th>
<th style="width: 2.2cm;">omnivor</th>
<th style="width: 2.2cm;">vegan</th>
<th style="width: 2.2cm;">vegetarisch</th>
<th style="width: 2.2cm;">omnivor</th>
</tr>
</thead>
<tbody>
@foreach($days as $day)
<tr>
<td>{{ $day->format('d.m.Y') }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['1'][EatingHabit::EATING_HABIT_VEGAN] }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['1'][EatingHabit::EATING_HABIT_VEGETARIAN] }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['1'][EatingHabit::EATING_HABIT_OMNIVOR] }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['2'][EatingHabit::EATING_HABIT_VEGAN] }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['2'][EatingHabit::EATING_HABIT_VEGETARIAN] }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['2'][EatingHabit::EATING_HABIT_OMNIVOR] }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['3'][EatingHabit::EATING_HABIT_VEGAN] }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['3'][EatingHabit::EATING_HABIT_VEGETARIAN] }}</td>
<td style="text-align: center">{{ $kitchenRequirements[$day->format('d.m.Y')]['3'][EatingHabit::EATING_HABIT_OMNIVOR] }}</td>
</tr>
@endforeach
</tbody>
</table>
<div class="page-break"></div>
@php
$rows = $participantsForKitchenList ?? [];
$chunks = array_chunk($rows, 8);
@endphp
@foreach($chunks as $chunk)
<h1>Teilnehmende mit bekannten Unverträglichkeiten</h1>
<table>
<thead>
<tr>
<th style="width: 2cm;">Name, Alter</th>
<th style="width: 2cm;">Stamm</th>
<th style="width: 2.5cm;">Teilnahmegruppe</th>
<th style="width: 3.5cm;">Anreise<br/>Abreise</th>
<th style="width: 3.5cm;">Unverträglichkeiten</th>
<th>Anmerkungen</th>
</tr>
</thead>
<tbody>
@foreach($chunk as $index => $row)
<tr>
<td>{{ $row['lastname']}},<br/>{{ $row['firstname'] }}<br/> {{$row['age'] ?? ''}} Jahre</td>
<td>{{ $row['localgroup'] ?? '' }}</td>
<td>{{ $row['participationType'] ?? '' }}</td>
<td>{{ $row['arrival'] ?? '' }}<br/>{{$row['departure']}}<br/>{{$row['presenceDays']['real']}} Tage</td>
<td>{{ $row['intolerances'] }}</td>
<td>{{ $row['notes'] ?? '' }}</td>
</tr>
@endforeach
</tbody>
</table>
@if(! $loop->last)
@endif
@endforeach
</body>
</html>