@extends('admin.layouts.app') @section('title', 'Data Requests') @section('content')

Data Requests

Download and deletion requests submitted by users.

Pending: {{ $requests->where('status', 'pending')->count() }} Completed: {{ $requests->where('status', 'completed')->count() }}
@php $headers = [ ['label' => 'User', 'class' => ''], ['label' => 'Type', 'class' => 'w-28'], ['label' => 'Status', 'class' => 'w-36'], ['label' => 'Note', 'class' => 'max-w-xs'], ['label' => 'Requested', 'class' => 'w-36'], ['label' => 'Handled By', 'class' => 'w-36'], ['label' => 'Actions', 'class' => 'w-44'], ]; $rows = []; foreach($requests as $request) { $cells = []; $cells[] = ['content' => '
' . e($request->user->name ?? 'Unknown user') . '
' . e($request->user->email ?? '') . '
', 'class' => '']; $cells[] = ['content' => '' . e(ucfirst($request->type)) . '', 'class' => '']; $statusClasses = [ 'pending' => 'bg-amber-100 text-amber-800', 'in_progress' => 'bg-blue-100 text-blue-800', 'completed' => 'bg-emerald-100 text-emerald-800', 'rejected' => 'bg-red-100 text-red-800', ]; $cells[] = ['content' => '' . e(str_replace('_', ' ', ucfirst($request->status))) . '' . ($request->resolved_at ? '
Resolved ' . e($request->resolved_at->diffForHumans()) . '
' : ''), 'class' => '']; $cells[] = ['content' => '

' . e($request->note ?? '—') . '

' . ($request->admin_note ? '

Admin: ' . e($request->admin_note) . '

' : ''), 'class' => 'max-w-xs']; $cells[] = ['content' => '
' . e($request->created_at->diffForHumans()) . '
', 'class' => '']; $cells[] = ['content' => '
' . e($request->handler->name ?? '—') . '
', 'class' => '']; $actionHtml = ''; if ($request->status === 'pending') { $actionHtml .= '' . csrf_field() . ''; } if ($request->hasValidExport()) { $actionHtml .= 'Download Export'; } $actionHtml .= '' . csrf_field() . method_field('PATCH') . '' . '' . '' . ''; $cells[] = ['content' => $actionHtml, 'class' => '']; $rows[] = ['cells' => $cells, 'class' => $request->status === 'pending' ? 'border-l-4 border-amber-400' : ($request->status === 'in_progress' ? 'border-l-4 border-blue-400' : ($request->status === 'completed' ? 'border-l-4 border-emerald-400' : ($request->status === 'rejected' ? 'border-l-4 border-red-400' : '')) )]; } @endphp @include('admin.components.table_shell', [ 'headers' => $headers, 'rows' => $rows, 'emptyMessage' => 'No data requests yet.', 'pagination' => $requests ])
{{ $requests->links() }}
@endsection
Data requests