9namespace Bitrix\Catalog\Access\Permission;
11use Bitrix\Catalog\StoreTable;
12use Bitrix\Crm\Service\Container;
13use Bitrix\Crm\Category\DealCategory;
14use Bitrix\Main\Access\Permission;
15use Bitrix\Main\Loader;
16use Bitrix\Catalog\StoreDocumentTable;
17use Bitrix\Main\Localization\Loc;
18use Bitrix\Catalog\Integration\Report\Dashboard\DashboardManager;
84 $permission = parent::getPermission($permissionId);
86 if (empty($permission[
'title']))
88 $name = self::getName($permissionId);
89 $permission[
'title'] =
90 Loc::getMessage(
$name .
'_MSGVER_1')
96 self::CATALOG_STORE_VIEW,
97 self::CATALOG_STORE_RESERVE,
100 $permissionId = (int)$permissionId;
101 if (in_array($permissionId, $storePermissions,
true))
103 $permission[
'type'] = Permission\PermissionDictionary::TYPE_MULTIVARIABLES;
104 $permission[
'enableSearch'] =
true;
106 $permission[
'minValue'] = [];
107 $permission[
'hintTitle'] = Loc::getMessage(
'CATALOG_STORE_VIEW_DESCRIPTION_HINT');
109 elseif ($permissionId === self::CATALOG_RESERVE_DEAL)
111 $permission[
'type'] = Permission\PermissionDictionary::TYPE_MULTIVARIABLES;
113 $permission[
'minValue'] = [];
114 $permission[
'showAvatars'] =
false;
115 $permission[
'compactView'] =
true;
116 $permission[
'hintTitle'] = Loc::getMessage(
'CATALOG_RESERVE_DEAL_DESCRIPTION_HINT');
119 $permissionId === self::CATALOG_PRODUCT_EDIT_ENTITY_PRICE
120 || $permissionId === self::CATALOG_PRODUCT_SET_DISCOUNT
123 $permission[
'type'] = Permission\PermissionDictionary::TYPE_MULTIVARIABLES;
125 $permission[
'minValue'] = [];
126 $permission[
'showAvatars'] =
false;
127 $permission[
'compactView'] =
true;
129 elseif ($permissionId === self::CATALOG_STORE_ANALYTIC_VIEW)
131 $permission[
'type'] = Permission\PermissionDictionary::TYPE_MULTIVARIABLES;
133 $permission[
'minValue'] = [];
134 $permission[
'showAvatars'] =
false;
135 $permission[
'compactView'] =
true;
138 if ($permission[
'type'] ===
Permission\PermissionDictionary::TYPE_TOGGLER)
140 $permission[
'minValue'] =
'0';
141 $permission[
'maxValue'] =
'1';
142 $permission[
'defaultValue'] =
'0';
144 elseif ($permission[
'type'] ===
Permission\PermissionDictionary::TYPE_MULTIVARIABLES)
146 $permission[
'allSelectedCode'] = (string)static::VALUE_VARIATION_ALL;
147 $permission[
'maxValue'] = (string)static::VALUE_VARIATION_ALL;
155 $permission = static::getPermission($permissionId);
156 if ($permission[
'type'] === static::TYPE_MULTIVARIABLES)
158 return static::VALUE_VARIATION_ALL;
161 return static::VALUE_YES;
168 if ($documents ===
null)
180 foreach ($documents as $document)
182 foreach ($permissions as $permissionId)
199 'title' => self::getName($permissionId) .
'_' . $documentCode,
200 'hint' => self::HINT_PREFIX . self::getName($permissionId) .
'_' . $documentCode,
202 foreach (
$fields as $field => $langMessage)
204 $fieldValue = Loc::getMessage($langMessage);
207 $permission[$field] = $fieldValue;
216 return "{$permissionId}_{$documentCode}";
221 if (static::$stores !==
null)
223 return static::$stores;
227 $stores = StoreTable::getList([
228 'select' => [
'ID',
'TITLE',
'ADDRESS'],
234 while ($store =
$stores->fetch())
239 $title = $store[
'ADDRESS'];
242 'id' => $store[
'ID'],
244 'entityId' =>
'store',
250 return static::$stores;
255 if (static::$dealCategories !==
null)
257 return static::$dealCategories;
260 if (!Loader::includeModule(
'crm'))
262 static::$dealCategories = [];
264 return static::$dealCategories;
278 static::$dealCategories =
$items;
280 return static::$dealCategories;
297 if (static::$priceEntities !==
null)
299 return static::$priceEntities;
302 static::$priceEntities = [];
303 if (!Loader::includeModule(
'crm'))
305 return static::$priceEntities;
309 \CCrmOwnerType::Deal =>
'deal',
310 \CCrmOwnerType::Lead =>
'lead',
311 \CCrmOwnerType::SmartInvoice =>
'invoice',
312 \CCrmOwnerType::Quote =>
'quote',
313 \CCrmOwnerType::Order =>
'order',
318 static::$priceEntities[] = [
320 'title' => \CCrmOwnerType::GetDescription($crmItem),
325 static::$priceEntities = array_merge(static::$priceEntities, self::getDynamicTypeVariables());
327 return static::$priceEntities;
330 private static function getDynamicTypeVariables():
array
332 if (static::$dynamicTypes !==
null)
334 return static::$dynamicTypes;
337 if (!Loader::includeModule(
'crm'))
339 static::$dynamicTypes = [];
341 return static::$dynamicTypes;
345 $types = Container::getInstance()
346 ->getDynamicTypesMap()
351 foreach ($types as
$type)
354 'id' =>
$type->getEntityTypeId(),
355 'title' =>
$type->getTitle(),
356 'supertitle' => Loc::getMessage(
'CRM_DYNAMIC_TYPE_NAME'),
360 static::$dynamicTypes =
$items;
362 return static::$dynamicTypes;
366 if (static::$storeAnalitycs !==
null)
368 return static::$storeAnalitycs;
372 if (Loader::includeModule(
'report'))
375 foreach ($dashboards as $dashboard)
378 'id' => $dashboard->getAccessBoardId(),
379 'title' => $dashboard->getBoardTitle(),
384 static::$storeAnalitycs =
$items;
386 return static::$storeAnalitycs;
const VALUE_VARIATION_ALL
const CATALOG_STORE_RESERVE
const CATALOG_STORE_DOCUMENT_ALLOW_NEGATION_PRODUCT_QUANTITY
const CATALOG_PRODUCT_PUBLIC_VISIBILITY
const CATALOG_PRODUCT_PRICE_EXTRA_EDIT
static getDealCategoryVariables()
const CATALOG_STORE_MODIFY
const CATALOG_MEASURE_MODIFY
const CATALOG_SETTINGS_PRODUCT_CARD_SET_PROFILE_FOR_USERS
const CATALOG_PRODUCT_SET_DISCOUNT
const CATALOG_PRODUCT_READ
static getDefaultPermissionValue($permissionId)
const CATALOG_IMPORT_EXECUTION
const CATALOG_PRODUCT_EDIT_CATALOG_PRICE
const CATALOG_SETTINGS_SELL_NEGATIVE_COMMODITIES
const CATALOG_SETTINGS_PRODUCT_CARD_EDIT
static getStoreDocumentPermissionId($permissionId, $documentCode)
static getStoreDocumentPermissionRules(array $permissions, array $documents=null)
const CATALOG_STORE_DOCUMENT_CONDUCT
static getStoreAnalyticVariables()
const CATALOG_RESERVE_DEAL
const CATALOG_STORE_DOCUMENT_CANCEL
const CATALOG_RESERVE_SETTINGS
const CATALOG_STORE_ANALYTIC_VIEW
const CATALOG_PRODUCT_ADD
const CATALOG_EXPORT_EXECUTION
const CATALOG_SETTINGS_ACCESS
const CATALOG_IMPORT_EDIT
static getPermission($permissionId)
const CATALOG_PRODUCT_EDIT_ENTITY_PRICE
static getPriceSelectorVariables()
static getStoreVariables()
const CATALOG_INVENTORY_MANAGEMENT_ACCESS
const CATALOG_EXPORT_EDIT
const CATALOG_PRODUCT_EDIT
static getAvailableStoreDocuments()
static getStoreDocumentPermission($permissionId, $documentCode)
const CATALOG_PRODUCT_PURCHASING_PRICE_VIEW
const CATALOG_STORE_DOCUMENT_VIEW
const CATALOG_STORE_DOCUMENT
const CATALOG_STORE_DOCUMENT_MODIFY
const CATALOG_SETTINGS_EDIT_RIGHTS
const CATALOG_PRODUCT_VIEW
const CATALOG_PRICE_GROUP_MODIFY
const CATALOG_PRODUCT_DELETE
const CATALOG_STORE_DOCUMENT_DELETE
const CATALOG_SETTINGS_STORE_DOCUMENT_CARD_EDIT
static getCatalogDashboardList()
const TYPE_STORE_ADJUSTMENT
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key