Quote::registerPermissionSet

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Quote
  4. registerPermissionSet
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/security/controller/querybuilder/compatible.php
  • Класс: Bitrix\Crm\Security\Controller\QueryBuilder\Compatible
  • Вызов: Compatible::registerPermissionSet
protected function registerPermissionSet(array &$items, array $newItem): array
{
	$qty = count($items);
	if ($qty === 0)
	{
		$items[] = $newItem;

		return $newItem;
	}

	$user = $newItem['USER'];
	$openedOnly = $newItem['OPENED_ONLY'];
	$departments = $newItem['DEPARTMENTS'];
	$departmentQty = count($departments);
	for ($i = 0; $i < $qty; $i++)
	{
		if ($user === $items[$i]['USER']
			&& $openedOnly === $items[$i]['OPENED_ONLY']
			&& $departmentQty === count($items[$i]['DEPARTMENTS'])
			&& ($departmentQty === 0 || count(array_diff($departments, $items[$i]['DEPARTMENTS'])) === 0))
		{
			$items[$i]['SCOPES'] = array_merge($items[$i]['SCOPES'], $newItem['SCOPES']);

			return $items[$i];
		}
	}

	$items[] = $newItem;

	return $newItem;
}

Добавить комментарий