• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/controller/order/terminalpayment.php
  • Класс: Bitrix\Crm\Controller\Order\TerminalPayment
  • Вызов: TerminalPayment::checkPermissions
private function checkPermissions(Main\Engine\Action $action): void
{
	$userPermissions = \CCrmPerms::GetCurrentUserPermissions();
	$actionArguments = $action->getArguments();

	$ids = [];

	if ($action->getName() === 'delete')
	{
		$ids[] = $actionArguments['payment'] ? $actionArguments['payment']->getId() : 0;
	}
	elseif ($action->getName() === 'deleteList')
	{
		$paymentList = $actionArguments['paymentList'] ?: [];
		/** @var Crm\Order\Payment $payment */
		foreach ($paymentList as $payment)
		{
			$ids[] = $payment->getId();
		}
	}

	foreach ($ids as $id)
	{
		if (!Crm\Order\Permissions\Payment::checkDeletePermission($id, $userPermissions))
		{
			$this->addError(
				new Main\Error(
					Main\Localization\Loc::getMessage('CRM_CONTROLLER_TERMINAL_PAYMENT_DOCUMENT_ACCESS_DENIED'),
					self::TERMINAL_PAYMENT_ACCESS_DENIED_ERROR_CODE
				)
			);

			return;
		}
	}
}