user(); abort_unless($user && in_array($user->role, self::ROLE_DIIZINKAN, true), 403); $petani = $request->route('petani'); if ($petani !== null && $user->isKoordinator()) { $petani = $petani instanceof Petani ? $petani : Petani::find($petani); abort_unless( $petani && $user->bolehAksesPetani($petani), 403, 'Petani ini bukan bagian dari komoditas yang Anda koordinasikan.' ); } return $next($request); } }