return; } $CrmPerms = new CCrmPerms($USER->GetID()); if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE')) { ShowError(GetMessage('CRM_PERMISSION_DENIED')); return; } $arParams['PATH_TO_ROLE_EDIT'] = CrmCheckPath('PATH_TO_ROLE_EDIT', $arParams['PATH_TO_ROLE_EDIT'], $APPLICATION->GetCurPage()); $arParams['PATH_TO_ENTITY_LIST'] = CrmCheckPath('PATH_TO_ENTITY_LIST', $arParams['PATH_TO_ENTITY_LIST'], $APPLICATION->GetCurPage()); $arParams['ROLE_ID'] = (int) $arParams['ROLE_ID']; $bVarsFromForm = false; $arResult['PATH_TO_ROLE_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_ROLE_EDIT'], array('role_id' => $arParams['ROLE_ID'])); if ($_SERVER['REQUEST_METHOD'] == 'POST' && (isset($_POST['save']) || isset($_POST['apply'])) && check_bitrix_sessid()) { $bVarsFromForm = true; $arFields = array('NAME' => $_POST['NAME'], 'RELATION' => isset($_POST['ROLE_PERMS']) ? $_POST['ROLE_PERMS'] : array()); $CCrmRole = new CcrmRole(); if ($arParams['ROLE_ID'] > 0) { if (!$CCrmRole->Update($arParams['ROLE_ID'], $arFields)) { $arResult['ERROR_MESSAGE'] = $arFields['RESULT_MESSAGE']; } } else { $arParams['ROLE_ID'] = $CCrmRole->Add($arFields); if ($arParams['ROLE_ID'] === false) { $arResult['ERROR_MESSAGE'] = $arFields['RESULT_MESSAGE']; } } if (empty($arResult['ERROR_MESSAGE'])) { if (isset($_POST['apply'])) { LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_ROLE_EDIT'], array('role_id' => $arParams['ROLE_ID']))); } else { LocalRedirect($arParams['PATH_TO_ENTITY_LIST']);
if (!CModule::IncludeModule('crm')) { ShowError(GetMessage('CRM_MODULE_NOT_INSTALLED')); return; } $CrmPerms = new CCrmPerms($USER->GetID()); if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE')) { ShowError(GetMessage('CRM_PERMISSION_DENIED')); return; } CJSCore::Init(array('access', 'window')); $arParams['PATH_TO_ROLE_EDIT'] = CrmCheckPath('PATH_TO_ROLE_EDIT', $arParams['PATH_TO_ROLE_EDIT'], $APPLICATION->GetCurPage()); $arParams['PATH_TO_ENTITY_LIST'] = CrmCheckPath('PATH_TO_ENTITY_LIST', $arParams['PATH_TO_ENTITY_LIST'], $APPLICATION->GetCurPage()); // save settings if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['ACTION'] == 'save' && check_bitrix_sessid()) { $arPerms = isset($_POST['PERMS']) ? $_POST['PERMS'] : array(); $CCrmRole = new CcrmRole(); $CCrmRole->SetRelation($arPerms); LocalRedirect($APPLICATION->GetCurPage()); } // get role list $arResult['PATH_TO_ROLE_ADD'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_ROLE_EDIT'], array('role_id' => 0)); $arResult['ROLE'] = array(); $obRes = CCrmRole::GetList(); while ($arRole = $obRes->Fetch()) { $arRole['PATH_TO_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_ROLE_EDIT'], array('role_id' => $arRole['ID'])); $arRole['PATH_TO_DELETE'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_ROLE_EDIT'], array('role_id' => $arRole['ID'])), array('delete' => '1', 'sessid' => bitrix_sessid())); $arRole['NAME'] = htmlspecialcharsbx($arRole['NAME']); $arResult['ROLE'][$arRole['ID']] = $arRole; } // get role relation $arResult['RELATION'] = array();