hasVerifiedEmail() && ! app(PortalProfileAccess::class)->has($user, 'auditor') && ($user->can('manage-portal') || app(ScopedPortalAdministration::class)->administrative($user)); } public static function requireRole(User $user, string $role): void { abort_unless(in_array($role, self::ROLES, true), 500, 'Função de governação desconhecida.'); abort_unless(self::maintainer($user) || in_array(strtolower($user->email), config('simulation-tax-governance.'.$role, []), true), 403, 'O utilizador não está designado para esta função de governação fiscal.'); } public static function requireAnyRole(User $user): void { if (self::maintainer($user)) { return; } foreach (self::ROLES as $role) { if (in_array(strtolower($user->email), config('simulation-tax-governance.'.$role, []), true)) { return; } } abort(403, 'O utilizador não está designado para consultar a governação fiscal.'); } }