- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/controller/action/order/searchbuyeraction.php
- Класс: Bitrix\Crm\Controller\Action\Order\SearchBuyerAction
- Вызов: SearchBuyerAction::provideData
public function provideData($searchQuery, array $options = null, Main\UI\PageNavigation $pageNavigation = null)
{
if (!is_array($options))
{
$options = [];
}
$filter = Main\UserUtils::getAdminSearchFilter([
'FIND' => $searchQuery
]);
$filter['=ACTIVE'] = 'Y';
$filter['=GROUP.GROUP_ID'] = Crm\Order\BuyerGroup::getSystemGroupId();
$userData = Main\UserTable::getList(array(
'filter' => $filter,
'select' => ["ID", "LOGIN", "ACTIVE", "EMAIL", "NAME", "LAST_NAME", "SECOND_NAME"],
'runtime' => [
new Main\Entity\ReferenceField(
'GROUP',
'\Bitrix\Main\UserGroupTable',
['=ref.USER_ID' => 'this.ID'],
['join_type' => 'LEFT']
)
],
'data_doubling' => false
));
$result = [];
$nameFormat = \CSite::getNameFormat(false);
while ($user = $userData->fetch())
{
$title = \CUser::FormatName(
$nameFormat,
array(
'LOGIN' => $user['LOGIN'],
'NAME' => $user['NAME'],
'LAST_NAME' => $user['LAST_NAME'],
'SECOND_NAME' => $user['SECOND_NAME']
),
true,
false
);
$resultItem = new Main\Search\ResultItem($title, '', $user['ID']);
$resultItem->setSubTitle($user['LOGIN']);
$resultItem->setAttribute('email', [
[
'type' => 'EMAIL',
'value' => $user['EMAIL']
]
]
);
$result[] = $resultItem;
}
if (empty($result) && is_array($options['emptyItem']) && !empty($options['emptyItem']))
{
$emptyItem = new Main\Search\ResultItem('', '');
if (!empty($options['emptyItem']['subtitle']))
{
$emptyItem->setSubTitle($options['emptyItem']['subtitle']);
}
$result[] = $emptyItem;
}
return $result;
}