label('Tolak') ->icon(Heroicon::XMark) ->color('danger') ->action(function (\App\Models\Cooperation $record): void { $cooperationMedia = $record->cooperationMedia() ->whereHas('partnerMedia', function ($query) { $query->whereHas('company', function ($subQuery) { $subQuery->where('user_id', auth()->id()); }); }) ->first(); if ($cooperationMedia) { $cooperationMedia->update(['status' => ApprovalStatus::REJECTED]); Notification::make() ->title('Kerja sama ditolak') ->success() ->send(); } }) ->visible(function (\App\Models\Cooperation $record): bool { if (! auth()->user()->hasRole('Perusahaan')) { return false; } $cooperationMedia = $record->cooperationMedia() ->whereHas('partnerMedia', function ($query) { $query->whereHas('company', function ($subQuery) { $subQuery->where('user_id', auth()->id()); }); }) ->first(); return $cooperationMedia && $cooperationMedia->status === ApprovalStatus::PENDING; }); } }