- Модуль: catalogmobile
- Путь к файлу: ~/bitrix/modules/catalogmobile/lib/EntityEditor/StoreDocumentProvider.php
- Класс: BitrixCatalogMobileEntityEditorStoreDocumentProvider
- Вызов: StoreDocumentProvider::getContractorField
protected function getContractorField(): array
{
$field = parent::getContractorField();
if ($this->contractorsProvider)
{
/**
* @TODO keep DRY
* @see BitrixCrmMobileUIEntityEditorProvider::getEntityFields()
*/
$permissions = [];
$categoryParams = $field['data']['categoryParams'] ?? [];
if (!empty($categoryParams) && is_array($categoryParams))
{
foreach ($categoryParams as $entityTypeId => $entity)
{
$entityTypeName = CCrmOwnerType::ResolveName($entityTypeId);
$serviceUserPermissions = Container::getInstance()->getUserPermissions();
$permissions[$entityTypeName] = [
'read' => $serviceUserPermissions->checkReadPermissions($entityTypeId),
'add' => $serviceUserPermissions->checkAddPermissions($entityTypeId),
];
}
}
$field['data']['permissions'] = $permissions;
}
else
{
$field['type'] = self::ENTITY_SELECTOR_FIELD;
$field['data'] = [
'selectorType' => self::CONTRACTOR_SELECTOR_TYPE,
'provider' => [
'context' => self::CONTRACTOR_PROVIDER_CONTEXT,
'options' => [],
],
'enableCreation' => true,
'entityListField' => $field['name'] . self::ENTITY_LIST_POSTFIX,
];
}
return $field;
}