query( Feedback::query() ->where('status', 'resolved') ->when( auth()->user()->hasRole('manager') && ! auth()->user()->hasRole('admin'), function ($q) { $deptIds = Department::where('manager_id', auth()->id())->pluck('id'); return $q->whereIn('current_department_id', $deptIds); } ) ) ->columns([ TextColumn::make('id') ->label('#') ->sortable() ->weight('bold') ->color('primary'), TextColumn::make('title') ->label('Ticket') ->searchable() ->weight('semibold') ->url(fn (Feedback $record): string => FeedbackResource::getUrl('edit', ['record' => $record])) ->color('primary'), TextColumn::make('customer.name') ->label('Customer') ->searchable(), TextColumn::make('customerProduct.product.name') ->label('Product') ->placeholder('General'), TextColumn::make('assignedTo.name') ->label('Handler'), TextColumn::make('currentDepartment.name') ->label('Department') ->badge() ->color('info'), TextColumn::make('updated_at') ->label('Resolved') ->since() ->sortable() ->color('secondary'), ]) ->defaultSort('updated_at', 'desc') ->heading('Tickets Awaiting Closure') ->description('Tickets that have been resolved and are pending manager review for closure.') ->paginated([5]); } public static function canView(): bool { return auth()->user()?->hasPermissionTo('view-dashboard-widgets') ?? false; } }