medveddev / bxorm

24 stars 10 forks source link

параметры фильтра MIN_PERMISSION и CHECK_PERMISSIONS #24

Open xukku opened 4 years ago

xukku commented 4 years ago

CHECK_PERMISSIONS - если установлен в "Y", то в выборке будет осуществляться проверка прав доступа к информационным блокам. По умолчанию права доступа не проверяются.

MIN_PERMISSION - минимальный уровень доступа, будет обработан только если CHECK_PERMISSIONS установлен в "Y". По умолчанию "R". Список прав доступа см. в CIBlock::SetPermission().

как реализовать параметры в фильтре или какие то аналоги для ORM инфоблоков?

для фильтра getList():


    [filter] => Array
        (
            [IBLOCK_ID] => 12
            [CHECK_PERMISSIONS] => Y
            [MIN_PERMISSION] => W
        )

выдется ошибка:


[Bitrix\Main\SystemException] 
Unknown field definition `CHECK_PERMISSIONS` (CHECK_PERMISSIONS) for \Bitrix\Iblock\Elements\ElementS1offers Entity. (100)
/app/bitrix/modules/main/lib/orm/query/chain.php:346
#0: Bitrix\Main\ORM\Query\Chain::getChainByDefinition(object, string)
    /app/bitrix/modules/main/lib/orm/query/query.php:1208
#1: Bitrix\Main\ORM\Query\Query->setFilterChains(array)
    /app/bitrix/modules/main/lib/orm/query/query.php:2274
#2: Bitrix\Main\ORM\Query\Query->buildQuery()
    /app/bitrix/modules/main/lib/orm/query/query.php:806
#3: Bitrix\Main\ORM\Query\Query->exec()
    /app/bitrix/modules/main/lib/orm/data/datamanager.php:500
#4: Bitrix\Main\ORM\Data\DataManager::getList(array)
medveddev commented 3 years ago

проверка прав пока что не реализована в orm api инфоблоков