• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/helper/form/schedule/scheduleformhelper.php
  • Класс: BitrixTimemanHelperFormScheduleScheduleFormHelper
  • Вызов: ScheduleFormHelper::prepareResult
private function prepareResult($resultSchedulesMap, $schedulesForAllUsers = [])
{
	$userIdsForName = [];
	foreach ($resultSchedulesMap as $index => $schedules)
	{
		if (EntityCodesHelper::isUser($index))
		{
			$userIdsForName[EntityCodesHelper::getUserId($index)] = EntityCodesHelper::getUserId($index);
		}
	}
	if (!empty($userIdsForName))
	{
		$names = $this->findUserNames($userIdsForName);
	}
	$result = [];
	foreach ($resultSchedulesMap as $index => $schedules)
	{
		$result[$index] = [];
		foreach ($schedules as $scheduleIndex => $schedule)
		{
			$result[$index][$scheduleIndex] = $schedule->collectRawValues();
		}
	}
	foreach ($resultSchedulesMap as $index => $schedules)
	{
		foreach ($schedules as $scheduleIndex => $schedule)
		{
			$result[$index][$scheduleIndex] = array_merge(
				$result[$index][$scheduleIndex],
				[
					'LINKS' => [
						'DETAIL' => DependencyManager::getInstance()->getUrlManager()
							->getUriTo(TimemanUrlManager::URI_SCHEDULE_UPDATE, ['SCHEDULE_ID' => $schedule->getId()]),
					],
				]
			);
			if (EntityCodesHelper::isUser($index) && !empty($names[EntityCodesHelper::getUserId($index)]))
			{
				$result[$index][$scheduleIndex]['entityName'] = $this->userHelper->getFormattedName(
					$names[EntityCodesHelper::getUserId($index)]
				);
				$result[$index][$scheduleIndex]['entityGender'] = $names[EntityCodesHelper::getUserId($index)]['PERSONAL_GENDER'];
			}
			else
			{
				$result[$index][$scheduleIndex]['entityName'] = $this->getDepartmentName(EntityCodesHelper::getDepartmentId($index));
			}
		}
	}

	foreach ($resultSchedulesMap as $index => $schedules)
	{
		foreach ($schedules as $scheduleIndex => $schedule)
		{
			if (in_array((int)$schedule->getId(), $schedulesForAllUsers, true))
			{
				$result[$index][$scheduleIndex]['entityCode'] = EntityCodesHelper::getAllUsersCode();
			}
		}
	}
	return $result;
}