hasRole('admin') || $user->hasRole('Super Admin') || is_null($user->contractor_id)) { return; } // Restrict Project Managers to assigned projects if ($user->hasRole('Project Manager')) { $assignedProjectIds = $user->projects()->pluck('projects.id')->toArray(); if ($model instanceof \Modules\ProjectManagement\Models\Project) { $builder->whereIn('id', $assignedProjectIds); } else if (Schema::hasColumn($model->getTable(), 'project_id')) { $builder->whereIn('project_id', $assignedProjectIds); } } } }