- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory.php
- Класс: Bitrix\Crm\Service\Factory
- Вызов: Factory::getEditorAdapter
public function getEditorAdapter(): EditorAdapter
{
if (!$this->editorAdapter)
{
$fieldsThatAreAccessibleToCurrentUser = VisibilityManager::filterNotAccessibleFields(
$this->getEntityTypeId(),
$this->getFieldsCollection()->getFieldNameList(),
);
$fieldsThatAreAccessibleToCurrentUserMap = array_flip($fieldsThatAreAccessibleToCurrentUser);
$editorFields = [];
foreach ($this->getFieldsCollection() as $field)
{
if (isset($fieldsThatAreAccessibleToCurrentUserMap[$field->getName()]))
{
$editorFields[] = $field;
}
}
$this->editorAdapter = new EditorAdapter(
new Field\Collection($editorFields),
$this->getDependantFieldsMap(),
);
if ($this->isClientEnabled())
{
$this->editorAdapter->addEntityField(
EditorAdapter::getClientField(
$this->getFieldCaption(EditorAdapter::FIELD_CLIENT),
EditorAdapter::FIELD_CLIENT,
EditorAdapter::FIELD_CLIENT_DATA_NAME,
['entityTypeId' => $this->getEntityTypeId()]
)
);
}
if ($this->isLinkWithProductsEnabled())
{
$this->editorAdapter->addEntityField(
EditorAdapter::getOpportunityField(
$this->getFieldCaption(EditorAdapter::FIELD_OPPORTUNITY),
EditorAdapter::FIELD_OPPORTUNITY,
$this->isPaymentsEnabled()
)
);
$this->editorAdapter->addEntityField(
EditorAdapter::getProductRowSummaryField(
$this->getFieldCaption(EditorAdapter::FIELD_PRODUCT_ROW_SUMMARY)
)
);
}
}
return $this->editorAdapter;
}