• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/kanban/stages.php
  • Класс: BitrixTasksKanbanStagesTable
  • Вызов: StagesTable::copyView
static function copyView($fromEntityId, $toEntityId, $entityType = self::WORK_MODE_GROUP)
{
	if (
		$fromEntityId != $toEntityId &&
		(
			$entityType == self::WORK_MODE_USER ||
			$entityType == self::WORK_MODE_GROUP ||
			$entityType == self::WORK_MODE_ACTIVE_SPRINT
		)
	)
	{
		$result = [];
		$res = self::getList(array(
			'filter' => array(
				'ENTITY_ID' => $fromEntityId,
				'=ENTITY_TYPE' => $entityType
			),
			'order' => array(
				'ID' => 'ASC'
			)
		));
		while ($row = $res->fetch())
		{
			$oldStageId = $row['ID'];
			if (!$row['TITLE'])
			{
				$row['TITLE'] = $row['TITLE'] = Loc::getMessage('TASKS_STAGE_' . $row['SYSTEM_TYPE']);
			}
			if (
				$row['SYSTEM_TYPE'] &&
				($row['SYSTEM_TYPE'] != self::SYS_TYPE_NEW)
			)
			{
				unset($row['SYSTEM_TYPE']);
			}
			unset($row['ID']);
			$row['ENTITY_ID'] = $toEntityId;
			$newStageId = (($addResult = self::add($row)) ? $addResult->getId() : false);
			$result[$oldStageId] = $newStageId;
		}
		return $result;
	}

	return false;
}