示例#1
0
 protected function innerUpdate($ID, &$fields, &$errors, array $params = null)
 {
     if (!CCrmCurrency::CheckUpdatePermission($ID)) {
         $errors[] = 'Access denied.';
         return false;
     }
     $result = CCrmCurrency::Update($ID, $fields);
     if ($result !== true) {
         $errors[] = CCrmCurrency::GetLastError();
     }
     return $result;
 }
示例#2
0
         $defaultExchRate = doubleval($_POST['DEFAULT_EXCH_RATE']);
         if ($defaultExchRate <= 0) {
             $defaultExchRate = 1;
             //default
         }
         $fields['AMOUNT'] = $defaultExchRate;
     }
 }
 if (isset($_POST['SORT'])) {
     $fields['SORT'] = $_POST['SORT'];
 }
 $result = false;
 $presentFields = CCrmCurrency::GetByID($currencyID);
 if (is_array($presentFields)) {
     $arResult['CURRENCY'] = $currency = array_merge($presentFields, $fields);
     $result = CCrmCurrency::Update($currencyID, $fields);
     if (!$result) {
         $err = CCrmCurrency::GetLastError();
         $arResult['ERROR'] = $err !== '' ? $err : GetMessage('CRM_CURRENCY_UPDATE_UNKNOWN_ERROR');
     }
 } else {
     $arResult['CURRENCY'] = $currency = $fields;
     $fields['CURRENCY'] = $currencyID;
     $fields['AMOUNT_CNT'] = 1;
     //Default
     $currencyID = CCrmCurrency::Add($fields);
     $result = is_string($currencyID) && $currencyID !== '';
     if (!$result) {
         $err = CCrmCurrency::GetLastError();
         $arResult['ERROR'] = $err !== '' ? $err : GetMessage('CRM_CURRENCY_ADD_UNKNOWN_ERROR');
         $currencyID = $fields['CURRENCY'];
示例#3
0
     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['EXCH_RATE'])) {
             $arFields['AMOUNT'] = $arField['EXCH_RATE'];
         }
         if (isset($arField['AMOUNT_CNT'])) {
             $arFields['AMOUNT_CNT'] = max(intval($arField['AMOUNT_CNT']), 1);
         }
         if (isset($arField['SORT'])) {
             $arFields['SORT'] = $arField['SORT'];
         }
         if (count($arFields) > 0) {
             if (!CCrmCurrency::Update($ID, $arFields)) {
                 $error = CCrmCurrency::GetLastError();
                 $errorMessages[] = $error !== '' ? $error : GetMessage('CRM_CURRENCY_UPDATE_GENERAL_ERROR');
                 continue;
             }
         }
         if (isset($arField['ACCOUNTING'])) {
             $baseCurrencyID = CCrmCurrency::GetBaseCurrencyID();
             $accountCurrencyID = CCrmCurrency::GetAccountCurrencyID();
             if ($ID === $accountCurrencyID) {
                 if ($arField['ACCOUNTING'] === 'N' && $ID !== $baseCurrencyID) {
                     CCrmCurrency::SetAccountCurrencyID($baseCurrencyID);
                 }
             } elseif ($arField['ACCOUNTING'] === 'Y') {
                 CCrmCurrency::SetAccountCurrencyID($ID);
             }