query( Feedback::query() ->where('status', 'resolved') ->when( auth()->user()->hasRole('manager'), function ($q) { $deptIds = Department::where('manager_id', auth()->id())->pluck('id'); return $q->whereIn('current_department_id', $deptIds); } ) ) ->columns([ TextColumn::make('id') ->label('#') ->sortable(), TextColumn::make('title') ->label('Ticket') ->searchable() ->url(fn (Feedback $record): string => FeedbackResource::getUrl('edit', ['record' => $record])), TextColumn::make('customer.name') ->label('Customer') ->searchable(), TextColumn::make('assignedTo.name') ->label('Handler'), TextColumn::make('currentDepartment.name') ->label('Department'), TextColumn::make('updated_at') ->label('Resolved Date') ->dateTime('d/m/Y') ->sortable(), ]) ->defaultSort('updated_at', 'desc') ->heading('Tickets Awaiting Closure (Resolved)') ->description('Tickets that have been resolved and are pending manager review for closure.'); } public static function canView(): bool { return auth()->user()?->hasRole(['admin', 'manager']) ?? false; } }