- Модуль: crmmobile
- Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/Category.php
- Класс: BitrixCrmMobileControllerCategory
- Вызов: Category::getCategoryFromCategorylessEntity
private function getCategoryFromCategorylessEntity(Factory $factory, int $categoryId = 0): DtoCategory
{
$entityTypeId = $factory->getEntityTypeId();
$permissions = $this->getCategoryPermissions($entityTypeId, $categoryId);
$categoriesEnabled = $factory->isCategoriesEnabled();
$stagesEnabled = $factory->isStagesEnabled();
$tunnelsEnabled = $categoriesEnabled && $stagesEnabled;
$stages = $factory->getStages($categoryId);
$stageColors = $this->getStageColors($stages);
$stagesBySemantics = $this->getStagesBySemantics($stages, [], $stageColors);
return new DtoCategory([
'id' => 0,
'name' => $factory->getEntityDescriptionInPlural(),
'isDefault' => true,
'editable' => $this->canUserEditCategory(),
'access' => $this->getAccess($permissions),
'categoriesSupported' => $factory->isCategoriesSupported(),
'categoriesEnabled' => $categoriesEnabled,
'stagesEnabled' => $stagesEnabled,
'tunnelsEnabled' => $tunnelsEnabled,
'processStages' => $stagesBySemantics[PhaseSemantics::PROCESS] ?? [],
'successStages' => $stagesBySemantics[PhaseSemantics::SUCCESS] ?? [],
'failedStages' => $stagesBySemantics[PhaseSemantics::FAILURE] ?? [],
'documentFields' => $this->getUsedDocumentFields($entityTypeId),
]);
}