• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/monitor/security/permissions.php
  • Класс: BitrixTimemanMonitorSecurityPermissions
  • Вызов: Permissions::loadAvailableUserIds
protected function loadAvailableUserIds(): array
{
	$availableUserIds = array_merge([$this->userId], User::getSubordinateEmployees($this->userId));

	$teams = Configuration::getValue('timeman_pwt')['teams'];
	if (is_array($teams))
	{
		$availableUserIdsByTeams = [];
		foreach ($teams as $team)
		{
			$isUserHeadOfTeam = (
				isset($team['head_id'])
				&& ($team['head_id'] === $this->userId)
			);

			$isTeamWithUsers = (
				isset($team['users'])
				&& is_array($team['users'])
			);

			if ($isUserHeadOfTeam && $isTeamWithUsers)
			{
				foreach ($team['users'] as $userId)
				{
					$availableUserIdsByTeams[] = $userId;
				}
			}
		}

		$availableUserIds = array_merge($availableUserIds, $availableUserIdsByTeams);
	}

	return array_unique($availableUserIds);
}