@php use Carbon\Carbon; // Logo: TYLKO public/EgaSupport.jpg $logoPath = public_path('EgaSupport.jpg'); $logoData = file_exists($logoPath) ? base64_encode(file_get_contents($logoPath)) : null; $logoMime = 'image/jpeg'; // Statystyki (zamknięty gdy zamkniety=1 lub jest zamknieto_data) $total = $tickets->count(); $closed = $tickets->filter(fn($t) => (int)($t->zamkniety ?? 0) === 1 || !empty($t->zamknieto_data))->count(); $open = $total - $closed; $clientName = $clientName ?? null; $generated = Carbon::now()->format('Y-m-d H:i'); @endphp
@if($logoData) @else EgaSupport @endif Raport ticketów
Okres {{ $from }}{{ $to }} Klient {{ $clientName ?? 'Wszyscy' }}
Wygenerowano {{ $generated }} Łącznie zgłoszeń {{ $total }}
Zgłoszenia otwarte
{{ $open }}
Zgłoszenia zamknięte
{{ $closed }}
Wszystkie zgłoszenia
{{ $total }}
@forelse($tickets as $t) @php // Priorytet -> chip class $prio = strtolower((string) $t->priority); $prioClass = match ($prio) { 'wysoki' => 'chip-high', 'krytyczny' => 'chip-critical', default => 'chip-normal', }; // Zamknięcie/status $isClosed = (int)($t->zamkniety ?? 0) === 1 || !empty($t->zamknieto_data); $statusName = optional($t->status)->nazwa ?? ($isClosed ? 'Zamknięty' : 'Otwarte'); $statusClass = $isClosed ? 'chip-closed' : 'chip-open'; // Daty $created = $t->created_at ? $t->created_at->format('Y-m-d H:i') : '—'; $closedAt = $t->zamknieto_data ? Carbon::parse($t->zamknieto_data)->format('Y-m-d H:i') : '—'; // Messages: pierwsza wiadomość użytkownika & ostatnia admina $firstUserMsg = $t->messages()->where('from_admin', 0)->orderBy('id', 'asc')->value('message'); $lastAdmin = $t->messages()->where('from_admin', 1)->with('user')->orderBy('id', 'desc')->first(); $solutionMsg = $lastAdmin?->message; $closedBy = $lastAdmin?->user?->name ?? '—'; @endphp

Zgłoszenie nr: {{ $t->id }}    Status zgłoszenia: {{ $statusName }}   Priorytet zgłoszenia: {{ $t->priority ?? '—' }}

Utworzone: {{ $created }}
{{-- Usunięty wiersz "Klient (firma)" --}}
Temat zgłoszenia {{ $t->subject }}
Zgłaszający {{ $t->name ?: '—' }}
Email zgłaszającego {{ $t->email ?: '—' }}
Temat pomocy {{ optional($t->helpTopicObj)->name ?: '—' }}
Treść zgłoszenia {{ $firstUserMsg ?: ($t->message ?: '—') }}
Treść rozwiązania {{ $solutionMsg ?: '—' }}
Zamknął {{ $isClosed ? $closedBy : '—' }}
Zamknięto {{ $closedAt }}
@empty

Brak zgłoszeń w podanym okresie

@endforelse