Example #1
0
    if (!(is_string($componentPage) && isset($componentPage[0]) && isset($arDefaultUrlTemplates404[$componentPage]))) {
        $componentPage = 'currency_list';
    }
    CComponentEngine::InitComponentVariables($componentPage, $arComponentVariables, $arVariableAliases, $arVariables);
    foreach ($arUrlTemplates as $url => $value) {
        $key = 'PATH_TO_' . strtoupper($url);
        $arResult[$key] = isset($arParams[$key][0]) ? $arParams[$key] : $arParams['SEF_FOLDER'] . $value;
    }
} else {
    $arComponentVariables = array(isset($arParams['VARIABLE_ALIASES']['currency_id']) ? $arParams['VARIABLE_ALIASES']['currency_id'] : 'currency_id');
    $arDefaultVariableAliases = array('currency_id' => 'currency_id');
    $arVariables = array();
    $arVariableAliases = CComponentEngine::MakeComponentVariableAliases($arDefaultVariableAliases, $arParams['VARIABLE_ALIASES']);
    CComponentEngine::InitComponentVariables(false, $arComponentVariables, $arVariableAliases, $arVariables);
    $componentPage = 'currency_list';
    if (isset($_REQUEST['edit'])) {
        $componentPage = 'currency_edit';
    } elseif (isset($_REQUEST['show'])) {
        $componentPage = 'currency_show';
    }
    $curPage = $APPLICATION->GetCurPage();
    $arResult['PATH_TO_CURRENCY_LIST'] = $curPage;
    $arResult['PATH_TO_CURRENCY_ADD'] = $curPage . '?add';
    $arResult['PATH_TO_CURRENCY_EDIT'] = $curPage . '?' . $arVariableAliases['currency_id'] . '=#currency_id#&edit';
    $arResult['PATH_TO_CURRENCY_SHOW'] = $curPage . '?' . $arVariableAliases['currency_id'] . '=#currency_id#&show';
}
$arResult = array_merge(array('VARIABLES' => $arVariables, 'ALIASES' => $arParams['SEF_MODE'] == 'Y' ? array() : $arVariableAliases, 'CURRENCY_ID' => isset($arVariables['currency_id']) ? strval($arVariables['currency_id']) : ''), $arResult);
if (!CCrmCurrency::EnsureReady()) {
    ShowError(CCrmCurrency::GetLastError());
}
$this->IncludeComponentTemplate($componentPage);
Example #2
0
 protected function innerDelete($ID, &$errors)
 {
     if (!CCrmCurrency::CheckDeletePermission($ID)) {
         $errors[] = 'Access denied.';
         return false;
     }
     $result = CCrmCurrency::Delete($ID);
     if ($result !== true) {
         $errors[] = CCrmCurrency::GetLastError();
     }
     return $result;
 }
Example #3
0
            if ($currency['IS_ACCOUNTING_CURRENCY'] && $currencyID !== CCrmCurrency::GetAccountCurrencyID()) {
                CCrmCurrency::SetAccountCurrencyID($currencyID);
            } elseif (!$currency['IS_ACCOUNTING_CURRENCY'] && $currencyID === CCrmCurrency::GetAccountCurrencyID()) {
                CCrmCurrency::SetAccountCurrencyID(CCrmCurrency::GetBaseCurrencyID());
            }
            if ($currency['IS_INVOICE_CURRENCY'] && $currencyID !== CCrmCurrency::getInvoiceDefault()) {
                CCrmCurrency::setInvoiceDefault($currencyID);
            }
            LocalRedirect(isset($_POST['apply']) ? CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_EDIT'], array('currency_id' => $currencyID)) : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array('currency_id' => $currencyID)));
        }
    } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete'])) {
        $currencyID = isset($arParams['CURRENCY_ID']) ? strval($arParams['CURRENCY_ID']) : '';
        $currency = isset($currencyID[0]) ? CCrmCurrency::GetByID($currencyID) : null;
        if ($currency) {
            if (!CCrmCurrency::Delete($currencyID)) {
                $err = CCrmCurrency::GetLastError();
                ShowError(isset($err[0]) ? $err : GetMessage('CRM_CURRENCY_DELETE_UNKNOWN_ERROR'));
                return;
            }
        }
        LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array()));
    }
}
$arResult['FIELDS'] = array();
$arResult['FIELDS']['tab_1'][] = array('id' => 'currency_info', 'name' => GetMessage('CRM_CURRENCY_SECTION_MAIN'), 'type' => 'section');
$arResult['FIELDS']['tab_1'][] = array('id' => 'ID', 'name' => GetMessage('CRM_CURRENCY_FIELD_ID'), 'params' => array('size' => 10), 'value' => $currencyID, 'type' => $isEditMode ? 'label' : 'text');
$arResult['FIELDS']['tab_1'][] = array('id' => 'AMOUNT_CNT', 'name' => GetMessage('CRM_CURRENCY_FIELD_AMOUNT_CNT'), 'params' => array('size' => 10), 'value' => isset($currency['AMOUNT_CNT']) ? $currency['AMOUNT_CNT'] : '1', 'type' => $isBaseCurrency ? 'label' : 'text');
$arResult['FIELDS']['tab_1'][] = array('id' => 'DEFAULT_EXCH_RATE', 'name' => GetMessage('CRM_CURRENCY_FIELD_DEFAULT_EXCH_RATE'), 'params' => array('size' => 10), 'value' => isset($currency['AMOUNT']) ? $currency['AMOUNT'] : '1', 'type' => $isBaseCurrency ? 'label' : 'text');
$arResult['FIELDS']['tab_1'][] = array('id' => 'SORT', 'name' => GetMessage('CRM_CURRENCY_FIELD_SORT'), 'params' => array('size' => 10), 'value' => isset($currency['SORT']) ? $currency['SORT'] : '10', 'type' => 'text');
$arResult['FIELDS']['tab_1'][] = array('id' => 'BASE', 'name' => GetMessage('CRM_CURRENCY_EDIT_BASE'), 'value' => $isBaseCurrency ? GetMessage('MAIN_YES') : GetMessage('MAIN_NO'), 'type' => 'label');
$arResult['FIELDS']['tab_1'][] = array('id' => 'ACCOUNTING', 'name' => GetMessage('CRM_CURRENCY_FIELD_ACCOUNTING'), 'value' => $currency['IS_ACCOUNTING_CURRENCY'] ? 'Y' : 'N', 'type' => 'checkbox');
Example #4
0
    if ($arResult['CAN_EDIT'] && $_GET['action_' . $arResult['GRID_ID']] === 'mark_as_base') {
        $currencyID = isset($_GET['ID']) ? $_GET['ID'] : '';
        if ($currencyID !== '' && $currencyID !== CCrmCurrency::GetBaseCurrencyID()) {
            if (!CCrmCurrency::SetBaseCurrencyID($currencyID)) {
                $errorID = uniqid('crm_err_');
                $_SESSION[$errorID] = GetMessage('CRM_CURRENCY_MARK_AS_BASE_GENERAL_ERROR');
            }
        }
        unset($_GET['ID'], $_REQUEST['ID']);
        // otherwise the filter will work
    } elseif ($arResult['CAN_DELETE'] && $_GET['action_' . $arResult['GRID_ID']] === 'delete') {
        $currencyID = isset($_GET['ID']) ? $_GET['ID'] : '';
        if ($currencyID !== '') {
            if (!CCrmCurrency::Delete($currencyID)) {
                $errorID = uniqid('crm_err_');
                $_SESSION[$errorID] = CCrmCurrency::GetLastError();
            }
        }
        unset($_GET['ID'], $_REQUEST['ID']);
        // otherwise the filter will work
    }
    if (!isset($_GET['AJAX_CALL'])) {
        if ($errorID === '') {
            LocalRedirect($bInternal ? '?' . $arParams['FORM_ID'] . '_active_tab=tab_currency' : '');
        } else {
            LocalRedirect(CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CURRENCY_LIST'], array()), array('error' => $errorID)));
        }
    }
}
$gridOptions = new CCrmGridOptions($arResult['GRID_ID']);
$gridSorting = $gridOptions->GetSorting(array('sort' => array('SORT' => 'asc'), 'vars' => array('by' => 'by', 'order' => 'order')));