- Модуль: crmmobile
- Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/Conversion.php
- Класс: BitrixCrmMobileControllerConversion
- Вызов: Conversion::getConversionMenuItemsAction
public function getConversionMenuItemsAction(Item $entity): array
{
$conversionConfig = ConversionManager::getConfig($entity->getEntityTypeId());
$conversionConfig->deleteItemByEntityTypeId(CCrmOwnerType::SmartDocument);
$conversionData = $conversionConfig->getScheme()->toJson(true);
//remove from conversion to old invoices and documents
$conversionData['items'] = array_values(
array_filter($conversionData['items'],
fn ($item) => $item['name'] !== CCrmOwnerType::InvoiceName
&& $item['name'] !== CCrmOwnerType::SmartDocumentName
)
);
if ($entity->getEntityTypeId() === CCrmOwnerType::Lead)
{
$conversionData['isReturnCustomer'] = $entity->getIsReturnCustomer();
if ($entity->getStageId() === 'CONVERTED' || $entity->getIsReturnCustomer())
{
$items = [];
foreach ($conversionData['items'] as $item)
{
if (CCrmOwnerType::DealName === $item['name'])
{
$items[] = $item;
}
}
$conversionData['items'] = $items;
}
}
if (CCrmOwnerType::Lead === $entity->getEntityTypeId())
{
$userPermissions = Container::getInstance()->getUserPermissions();
$conversionData['permissions'] = [
CCrmOwnerType::Contact => [
'read' => $userPermissions->checkReadPermissions(CCrmOwnerType::Contact, 0, 0),
'write' => $userPermissions->checkUpdatePermissions(CCrmOwnerType::Contact, 0, 0),
],
CCrmOwnerType::Company => [
'read' => $userPermissions->checkReadPermissions(CCrmOwnerType::Company, 0, 0),
'write' => $userPermissions->checkUpdatePermissions(CCrmOwnerType::Company, 0, 0),
],
];
}
return $conversionData;
}