- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/Sale/Order/BuyerService.php
- Класс: Bitrix\Crm\Service\Sale\Order\BuyerService
- Вызов: BuyerService::attachUserToBuyers
public function attachUserToBuyers(int $userId): Result
{
$result = new Result();
$isExtranetUser = false;
if (Loader::includeModule('bitrix24'))
{
$isExtranetUser = CBitrix24::IsExtranetUser($userId);
}
elseif (Loader::includeModule('intranet'))
{
$isExtranetUser = Util::isExtranetUser($userId) || !Util::isIntranetUser($userId);
}
if (!$isExtranetUser)
{
$result->addError(
new Error('User is not extranet')
);
return $result;
}
// set external auth id
$userNotHasExternalAuth = UserTable::getRow([
'select' => [
'ID',
],
'filter' => [
'=ID' => $userId,
'=EXTERNAL_AUTH_ID' => null,
],
]) !== null;
if ($userNotHasExternalAuth)
{
$user = new CUser();
$user->Update($userId, [
'EXTERNAL_AUTH_ID' => Buyer::AUTH_ID,
]);
if ($user->LAST_ERROR)
{
$result->addError(
new Error($user->LAST_ERROR)
);
return $result;
}
}
// add to group
CUser::AppendUserGroup($userId, BuyerGroup::getDefaultGroups());
return $result;
}