if (isset($_POST['MEASURE_CODE'])) { $fields['MEASURE_CODE'] = intval($_POST['MEASURE_CODE']); } if (isset($_POST['MEASURE_NAME'])) { $fields['MEASURE_NAME'] = $_POST['MEASURE_NAME']; } if (isset($_POST['TAX_RATE'])) { $fields['TAX_RATE'] = round(doubleval($_POST['TAX_RATE']), 2); } if (isset($_POST['TAX_INCLUDED'])) { $fields['TAX_INCLUDED'] = strtoupper($_POST['TAX_INCLUDED']) === 'Y' ? 'Y' : 'N'; } if (isset($_POST['CUSTOMIZED'])) { $fields['CUSTOMIZED'] = strtoupper($_POST['CUSTOMIZED']) === 'Y' ? 'Y' : 'N'; } if (!CCrmProductRow::Update($ID, $fields)) { echo CUtil::PhpToJSObject(array('ERROR' => CCrmProductRow::GetLastError())); } else { echo CUtil::PhpToJSObject(array('PRODUCT_ROW' => array('ID' => $ID))); } } elseif ($mode === 'SAVE_PRODUCTS') { if (!empty($ownerType) && $ownerID > 0) { $enableDiscount = false; $enableTax = false; if (isset($_POST['PRODUCT_ROW_SETTINGS']) && is_array($_POST['PRODUCT_ROW_SETTINGS'])) { $settings = $_POST['PRODUCT_ROW_SETTINGS']; $enableDiscount = isset($settings['ENABLE_DISCOUNT']) ? $settings['ENABLE_DISCOUNT'] === 'Y' : false; $enableTax = isset($settings['ENABLE_TAX']) ? $settings['ENABLE_TAX'] === 'Y' : false; } $settings = CCrmProductRow::LoadSettings($ownerType, $ownerID); $settings['ENABLE_DISCOUNT'] = $enableDiscount;
protected function innerUpdate($ID, &$fields, &$errors, array $params = null) { $entity = CCrmProductRow::GetByID($ID); if (!is_array($entity)) { $errors[] = "Product Row not found"; return false; } if (!CCrmAuthorizationHelper::CheckUpdatePermission(CCrmProductRow::ResolveOwnerTypeName($entity['OWNER_TYPE']), $entity['OWNER_ID'])) { $errors[] = 'Access denied.'; return false; } // The fields OWNER_ID and OWNER_TYPE can not be changed. if (isset($fields['OWNER_ID'])) { unset($fields['OWNER_ID']); } if (isset($fields['OWNER_TYPE'])) { unset($fields['OWNER_TYPE']); } $result = CCrmProductRow::Update($ID, $fields, true, true); if ($result !== true) { $errors[] = CCrmProductRow::GetLastError(); } return $result; }