unset($_POST['ID'], $_REQUEST['ID']); // otherwise the filter will work } elseif ($arResult['CAN_EDIT'] && $action === 'edit' && isset($_POST['FIELDS']) && is_array($_POST['FIELDS'])) { foreach ($_POST['FIELDS'] as $ID => $arField) { $arFields = array(); if (isset($arField['LID'])) { $arFields['LID'] = $arField['LID']; } if (isset($arField['NAME'])) { $arFields['NAME'] = trim($arField['NAME']); } if (isset($arField['CODE'])) { $arFields['CODE'] = strlen($arField['CODE']) <= 0 ? False : $arField['CODE']; } if (count($arFields) > 0) { if (!CSaleTax::Update($ID, $arFields)) { ShowError(GetMessage('CRM_TAX_UPDATE_GENERAL_ERROR')); } } } } if (!isset($_POST['AJAX_CALL'])) { LocalRedirect($APPLICATION->GetCurPage()); } } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && check_bitrix_sessid() && isset($_GET['action_' . $arResult['GRID_ID']])) { if ($arResult['CAN_DELETE'] && $_GET['action_' . $arResult['GRID_ID']] === 'delete') { $taxID = isset($_GET['ID']) ? $_GET['ID'] : ''; if ($taxID > 0) { if (!CSaleTax::Delete($taxID)) { $error = ''; if ($ex = $APPLICATION->GetException()) {
$fields['NAME'] = $_POST['NAME']; } if (isset($_POST['DESCRIPTION'])) { $fields['DESCRIPTION'] = $_POST['DESCRIPTION']; } if (isset($_POST['LID'])) { $fields['LID'] = $_POST['LID']; } else { $fields['LID'] = SITE_ID; } if (isset($_POST['CODE'])) { $fields['CODE'] = $_POST['CODE']; } $tax = CCrmTax::GetByID($taxID); if (is_array($tax)) { if (!CSaleTax::Update($taxID, $fields)) { ShowError(GetMessage('CRM_TAX_UPDATE_UNKNOWN_ERROR')); } } else { $fields['TAX'] = $taxID; $taxID = CSaleTax::Add($fields); if (intval($taxID) <= 0) { ShowError(GetMessage('CRM_TAX_ADD_UNKNOWN_ERROR')); } } LocalRedirect(isset($_POST['apply']) ? CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_TAX_EDIT'], array('tax_id' => $taxID)) : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_TAX_LIST'], array('tax_id' => $taxID))); } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete'])) { $taxID = isset($arParams['TAX_ID']) ? intval($arParams['TAX_ID']) : 0; $tax = $taxID > 0 ? CCrmTax::GetByID($taxID) : null; if ($tax) { if (!CSaleTax::Delete($taxID)) {