- Модуль: crmmobile
- Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/EntityDetails.php
- Класс: BitrixCrmMobileControllerEntityDetails
- Вызов: EntityDetails::getEntityPermissions
private function getEntityPermissions(Item $entity): array
{
if ($entity->isNew())
{
return [];
}
$userPermissions = Container::getInstance()->getUserPermissions();
$crmPermissions = $userPermissions->getCrmPermissions();
$entityTypeId = $entity->getEntityTypeId();
$entityId = $entity->getId();
if ($entityTypeId === CCrmOwnerType::Company && CCrmCompany::isMyCompany($entityId))
{
$myCompanyPermissions = $userPermissions->getMyCompanyPermissions();
return [
'add' => $myCompanyPermissions->canAdd(),
'read' => $myCompanyPermissions->canRead(),
'update' => $myCompanyPermissions->canUpdate(),
'delete' => $myCompanyPermissions->canDelete(),
'exclude' => false,
];
}
$categoryId = $entity->isCategoriesSupported() ? $entity->getCategoryId() : null;
return [
'add' => $userPermissions->checkAddPermissions($entityTypeId, $categoryId),
'read' => $userPermissions->checkReadPermissions($entityTypeId, $entityId, $categoryId),
'update' => $userPermissions->checkUpdatePermissions($entityTypeId, $entityId, $categoryId),
'delete' => $userPermissions->checkDeletePermissions($entityTypeId, $entityId, $categoryId),
'exclude' => !$crmPermissions->HavePerm('EXCLUSION', BX_CRM_PERM_NONE, 'WRITE'),
];
}