• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/helper/form/schedule/scheduleformhelper.php
  • Класс: BitrixTimemanHelperFormScheduleScheduleFormHelper
  • Вызов: ScheduleFormHelper::extendWithNestedEntitiesCodes
private function extendWithNestedEntitiesCodes(array $entitiesCodes)
{
	$allCodes = [];
	foreach ($entitiesCodes as $entityCode)
	{
		if (EntityCodesHelper::isUser($entityCode))
		{
			$allCodes[$entityCode] = $entityCode;
		}
		elseif (EntityCodesHelper::isDepartment($entityCode))
		{
			$departmentId = EntityCodesHelper::getDepartmentId($entityCode);
			$allDepartments = array_merge(
				[$departmentId],
				$this->getDepartmentRepository()->getAllChildDepartmentsIds($departmentId)
			);
			foreach (EntityCodesHelper::buildDepartmentCodes($allDepartments) as $item)
			{
				$allCodes[$item] = $item;
			}

			foreach ($allDepartments as $depId)
			{
				$userIds = $this->getDepartmentRepository()->getUsersOfDepartment($depId);
				foreach (EntityCodesHelper::buildUserCodes($userIds) as $item)
				{
					$allCodes[$item] = $item;
				}
			}
		}
	}
	return array_keys($allCodes);
}