Esempio n. 1
0
}
$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']);
        }
    } else {
        ShowError($arResult['ERROR_MESSAGE']);
    }
    $arResult['ROLE'] = array('ID' => $arParams['ROLE_ID'], 'NAME' => $arFields['NAME']);
    $arResult['ROLE_PERMS'] = $arFields['RELATION'];