...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/security/entityauthorization.php
- Класс: Bitrix\Crm\Security\EntityAuthorization
- Вызов: EntityAuthorization::checkUpdatePermission
static function checkUpdatePermission($entityTypeID, $entityID, $userPermissions = null) { if(!is_int($entityTypeID)) { $entityTypeID = (int)$entityTypeID; } if(!is_int($entityID)) { $entityID = (int)$entityID; } if($entityTypeID === \CCrmOwnerType::Lead) { return \CCrmLead::CheckUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::Deal || $entityTypeID === \CCrmOwnerType::DealRecurring) { return \CCrmDeal::CheckUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::Quote) { return \CCrmQuote::CheckUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::Invoice) { return \CCrmInvoice::CheckUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::Contact) { return \CCrmContact::CheckUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::Company) { return \CCrmCompany::CheckUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::Order) { return Order\Permissions\Order::checkUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::OrderPayment) { return Order\Permissions\Payment::checkUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::OrderShipment) { return Order\Permissions\Shipment::checkUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::ShipmentDocument) { if (Main\Loader::includeModule('catalog')) { return AccessController::getCurrent()->check(ActionDictionary::ACTION_CATALOG_READ) && AccessController::getCurrent()->check(ActionDictionary::ACTION_INVENTORY_MANAGEMENT_ACCESS) && AccessController::getCurrent()->checkByValue( ActionDictionary::ACTION_STORE_DOCUMENT_MODIFY, \Bitrix\Catalog\StoreDocumentTable::TYPE_SALES_ORDERS ) ; } return Order\Permissions\Shipment::checkUpdatePermission($entityID, $userPermissions); } elseif($entityTypeID === \CCrmOwnerType::StoreDocument) { return Main\Loader::includeModule('catalog') && AccessController::getCurrent()->check(ActionDictionary::ACTION_STORE_VIEW); } elseif(\CCrmOwnerType::isUseFactoryBasedApproach($entityTypeID)) { return static::getPermissionsService($userPermissions)->checkUpdatePermissions( $entityTypeID, $entityID, Container::getInstance()->getFactory($entityTypeID)->getItemCategoryId($entityID) ?? 0 ); } $entityTypeName = \CCrmOwnerType::ResolveName($entityTypeID); $permissionEntityType = \CCrmPerms::ResolvePermissionEntityType($entityTypeName, $entityID); return \CCrmAuthorizationHelper::CheckUpdatePermission( $permissionEntityType, $entityID, $userPermissions ); }