can('pusat_data.urus') || $user->can('serahan.urus_sendiri'); } /** Perunding hanya boleh lihat pusat data yang sedang ditugaskan kepadanya. */ public function view(User $user, DataCentre $dataCentre): bool { if ($user->can('pusat_data.urus')) { return true; } $consultantId = $user->consultant?->id; return $consultantId !== null && (int) $dataCentre->current_consultant_id === (int) $consultantId; } public function create(User $user): bool { return $user->can('pusat_data.urus'); } public function update(User $user, DataCentre $dataCentre): bool { return $user->can('pusat_data.urus'); } public function delete(User $user, DataCentre $dataCentre): bool { return $user->can('pusat_data.urus'); } public function assignConsultant(User $user, DataCentre $dataCentre): bool { return $user->can('tugasan.urus'); } }