• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/controller/timeline/note.php
  • Класс: Bitrix\Crm\Controller\Timeline\Note
  • Вызов: Note::checkPermissions
private function checkPermissions(int $itemId, int $itemType, int $ownerTypeId, int $ownerId): bool
{
	if (!Container::getInstance()->getUserPermissions()->checkUpdatePermissions($ownerTypeId, $ownerId))
	{
		$this->addError(ErrorCode::getAccessDeniedError());

		return false;
	}

	if ($itemType === NoteTable::NOTE_TYPE_HISTORY)
	{
		if (!\Bitrix\Crm\Timeline\TimelineEntry::checkBindingExists($itemId, $ownerTypeId, $ownerId))
		{
			$this->addError(ErrorCode::getNotFoundError());

			return false;
		}
	}

	if ($itemType === NoteTable::NOTE_TYPE_ACTIVITY)
	{
		$bindingFound = false;
		$activityBindings = \CCrmActivity::GetBindings($itemId);
		foreach ($activityBindings as $binding)
		{
			if ($binding['OWNER_TYPE_ID'] == $ownerTypeId && $binding['OWNER_ID'] == $ownerId)
			{
				$bindingFound = true;
				break;
			}
		}
		if (!$bindingFound)
		{
			$this->addError(ErrorCode::getNotFoundError());

			return false;
		}
	}

	return true;
}