- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/sale_helper.php
- Класс: \CCrmSaleHelper
- Вызов: CCrmSaleHelper::runAgentAddGroupToShop
static function runAgentAddGroupToShop()
{
global $APPLICATION;
$groupObject = new CGroup;
$groupsData = array(
array(
"ACTIVE" => "Y",
"C_SORT" => 100,
"NAME" => Loc::getMessage("SALE_USER_GROUP_SHOP_ADMIN_NAME"),
"STRING_ID" => "CRM_SHOP_ADMIN",
"DESCRIPTION" => Loc::getMessage("SALE_USER_GROUP_SHOP_ADMIN_DESC"),
"BASE_RIGHTS" => array("sale" => "W"),
"TASK_RIGHTS" => array("catalog" => "W", "main" => "R", "iblock" => "X")
),
array(
"ACTIVE" => "Y",
"C_SORT" => 100,
"NAME" => Loc::getMessage("SALE_USER_GROUP_SHOP_MANAGER_NAME"),
"STRING_ID" => "CRM_SHOP_MANAGER",
"DESCRIPTION" => Loc::getMessage("SALE_USER_GROUP_SHOP_MANAGER_DESC"),
"BASE_RIGHTS" => array("sale" => "U"),
"TASK_RIGHTS" => array("catalog" => "W", "iblock" => "W")
),
);
foreach ($groupsData as $groupData)
{
$groupId = $groupObject->add($groupData);
if ($groupObject->LAST_ERROR == '' && $groupId)
{
foreach($groupData["BASE_RIGHTS"] as $moduleId => $letter)
{
$APPLICATION->setGroupRight($moduleId, $groupId, $letter, false);
}
foreach($groupData["TASK_RIGHTS"] as $moduleId => $letter)
{
switch ($moduleId)
{
case "iblock":
if (Loader::includeModule("iblock"))
{
CIBlockRights::setGroupRight($groupId, "CRM_PRODUCT_CATALOG", $letter);
}
break;
default:
CGroup::SetModulePermission($groupId, $moduleId, CTask::GetIdByLetter($letter, $moduleId));
}
}
}
}
CCrmSaleHelper::addUserToShopGroup();
return "";
}