- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/util/scheduler.php
- Класс: BitrixTasksUtilScheduler
- Вызов: Scheduler::makeRelationTree
private function makeRelationTree($fromTaskId, array $relations, array $taskData)
{
if(is_array($relations[$fromTaskId]) && !empty($relations[$fromTaskId]))
{
foreach($relations[$fromTaskId] as $taskId => $relation)
{
if(!isset($this->taskPool[$taskId]))
{
$taskItem = CTaskItem::constructWithPreloadedData($this->userId, $taskData[$taskId]);
$taskItem->setCalendar($this->calendar);
}
else
{
$taskItem = $this->taskPool[$taskId];
}
// no deal with tasks with no created date, skip the subtree
if((string) $taskItem['CREATED_DATE'] == '')
{
continue;
}
if(!$taskItem->isActionAllowed(CTaskItem::ACTION_CHANGE_DEADLINE)) // no access, skip the whole subtree
{
continue;
}
else
{
$this->taskPool[$taskId] = $taskItem;
$this->relations[$fromTaskId][$taskId] = $relation;
$this->makeRelationTree($taskId, $relations, $taskData);
}
}
}
}