- Departments + cross-department transfer workflow - Role-based closing (staff→resolved, manager→closed) with proof_of_resolution - Private file storage with collection system + temporary signed URLs - Dashboard: resolved tickets table, stats, handler performance bar chart - Spatie RBAC (admin/manager/staff) - Notifications: TicketTransferred, TicketClosed (database + mail) - Pest tests: 8 tests, 21 assertions - Docker production-ready (Dockerfile + compose + entrypoint)
43 lines
2.1 KiB
PHP
43 lines
2.1 KiB
PHP
<div style="padding: 1rem;">
|
|
@if(empty($links) || count($links) === 0)
|
|
<p>No attachments.</p>
|
|
@else
|
|
<table style="width: 100%; border-collapse: collapse;">
|
|
<thead>
|
|
<tr style="border-bottom: 2px solid #e5e7eb;">
|
|
<th style="text-align: left; padding: 8px;">File</th>
|
|
<th style="text-align: left; padding: 8px;">Collection</th>
|
|
<th style="text-align: left; padding: 8px;">Size</th>
|
|
<th style="text-align: right; padding: 8px;">Action</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach($links as $link)
|
|
<tr style="border-bottom: 1px solid #f3f4f6;">
|
|
<td style="padding: 8px;">{{ $link['name'] }}</td>
|
|
<td style="padding: 8px;">
|
|
<span style="
|
|
display: inline-block; padding: 2px 8px; border-radius: 9999px; font-size: 12px;
|
|
@if($link['collection'] === 'proof_of_resolution') background: #dcfce7; color: #166534;
|
|
@elseif($link['collection'] === 'customer_evidence') background: #dbeafe; color: #1e40af;
|
|
@else background: #f3f4f6; color: #374151;
|
|
@endif
|
|
">
|
|
{{ $link['collection'] }}
|
|
</span>
|
|
</td>
|
|
<td style="padding: 8px;">{{ $link['size'] }}</td>
|
|
<td style="padding: 8px; text-align: right;">
|
|
<a href="{{ $link['url'] }}" target="_blank" style="
|
|
display: inline-block; padding: 4px 12px; border-radius: 6px;
|
|
background: #3b82f6; color: white; text-decoration: none; font-size: 13px;
|
|
">Download</a>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
<p style="margin-top: 12px; font-size: 12px; color: #6b7280;">Links expire after 60 minutes.</p>
|
|
@endif
|
|
</div>
|