X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fmanage%2Fexchange_rates.php;h=6d13b06bf90f3bd77b712eed49eaff45115ea39f;hb=6bcd87642330092910f5d6977845a76ac59350ac;hp=669895b14863e539ada9ab9aff00c35775899694;hpb=3626626c1d1497affa0e1b1f7da41c656e78a385;p=fa-stable.git diff --git a/gl/manage/exchange_rates.php b/gl/manage/exchange_rates.php index 669895b1..6d13b06b 100644 --- a/gl/manage/exchange_rates.php +++ b/gl/manage/exchange_rates.php @@ -1,7 +1,17 @@ . +***********************************************************************/ +$page_security = 'SA_EXCHANGERATE'; +$path_to_root = "../.."; +include($path_to_root . "/includes/db_pager.inc"); include_once($path_to_root . "/includes/session.inc"); include_once($path_to_root . "/includes/date_functions.inc"); @@ -9,14 +19,14 @@ include_once($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/includes/banking.inc"); $js = ""; -if ($use_date_picker) +if (user_use_date_picker()) $js .= get_js_date_picker(); -page(_("Exchange Rates"), false, false, "", $js); +page(_($help_context = "Exchange Rates"), false, false, "", $js); simple_page_mode(false); //--------------------------------------------------------------------------------------------- -function check_data() +function check_data($selected_id) { if (!is_date($_POST['date_'])) { @@ -24,19 +34,18 @@ function check_data() set_focus('date_'); return false; } - if (!check_num('BuyRate', 0)) + if (input_num('BuyRate') <= 0) { - display_error( _("The exchange rate must be numeric and greater than zero.")); + display_error( _("The exchange rate cannot be zero or a negative number.")); set_focus('BuyRate'); return false; } - if ($_POST['BuyRate'] <= 0) + if (!$selected_id && get_date_exchange_rate($_POST['curr_abrev'], $_POST['date_'])) { - display_error( _("The exchange rate cannot be zero or a negative number.")); - set_focus('BuyRate'); + display_error( _("The exchange rate for the date is already there.")); + set_focus('date_'); return false; } - return true; } @@ -46,7 +55,7 @@ function handle_submit() { global $selected_id; - if (!check_data()) + if (!check_data($selected_id)) return false; if ($selected_id != "") @@ -63,6 +72,7 @@ function handle_submit() } $selected_id = ''; + clear_data(); } //--------------------------------------------------------------------------------------------- @@ -75,47 +85,33 @@ function handle_delete() return; delete_exchange_rate($selected_id); $selected_id = ''; + clear_data(); } //--------------------------------------------------------------------------------------------- - -function display_rates($curr_code) +function edit_link($row) { - global $table_style; - - $result = get_exchange_rates($curr_code); - - br(2); - start_table($table_style); - $th = array(_("Date to Use From"), _("Exchange Rate"), "", ""); - table_header($th); - - $k = 0; //row colour counter - - while ($myrow = db_fetch($result)) - { - - alt_table_row_color($k); - - label_cell(sql2date($myrow["date_"])); - label_cell(number_format2($myrow["rate_buy"], user_exrate_dec()), "nowrap align=right"); - edit_button_cell("Edit".$myrow["id"], _("Edit")); - edit_button_cell("Delete".$myrow["id"], _("Delete")); + return button('Edit'.$row["id"], _("Edit"), true, ICON_EDIT); +} - end_row(); +function del_link($row) +{ + return button('Delete'.$row["id"], _("Delete"), true, ICON_DELETE); +} - } +function display_rates($curr_code) +{ - end_table(); } //--------------------------------------------------------------------------------------------- function display_rate_edit() { - global $selected_id, $table_style2, $Ajax; - - start_table($table_style2); + global $selected_id, $Ajax, $SysPrefs; + $xchg_rate_provider = ((isset($SysPrefs->xr_providers) && isset($SysPrefs->dflt_xr_provider)) + ? $SysPrefs->xr_providers[$SysPrefs->dflt_xr_provider] : 'ECB'); + start_table(TABLESTYLE2); if ($selected_id != "") { @@ -124,7 +120,7 @@ function display_rate_edit() $myrow = get_exchange_rate($selected_id); $_POST['date_'] = sql2date($myrow["date_"]); - $_POST['BuyRate'] = exrate_format($myrow["rate_buy"]); + $_POST['BuyRate'] = maxprec_format($myrow["rate_buy"]); hidden('selected_id', $selected_id); hidden('date_', $_POST['date_']); @@ -139,16 +135,16 @@ function display_rate_edit() } if (isset($_POST['get_rate'])) { - $_POST['BuyRate'] = exrate_format(get_ecb_rate($_POST['curr_abrev'])); + $_POST['BuyRate'] = + maxprec_format(retrieve_exrate($_POST['curr_abrev'], $_POST['date_'])); $Ajax->activate('BuyRate'); } - small_amount_row(_("Exchange Rate:"), 'BuyRate', null, '', - submit('get_rate',_("Get"), false, _('Get current ECB rate') , true), - user_exrate_dec()); + amount_row(_("Exchange Rate:"), 'BuyRate', null, '', + submit('get_rate',_("Get"), false, _('Get current rate from') . ' ' . $xchg_rate_provider , true), 'max'); end_table(1); - submit_add_or_update_center($selected_id == '', '', true); + submit_add_or_update_center($selected_id == '', '', 'both'); display_note(_("Exchange rates are entered against the company currency."), 1); } @@ -175,14 +171,14 @@ if ($Mode == 'Delete') //--------------------------------------------------------------------------------------------- -start_form(false, true); +start_form(); if (!isset($_POST['curr_abrev'])) $_POST['curr_abrev'] = get_global_curr_code(); echo "
"; echo _("Select a currency :") . " "; -currencies_list('curr_abrev', null, true); +echo currencies_list('curr_abrev', null, true, true); echo "
"; // if currency sel has changed, clear the form @@ -192,9 +188,19 @@ if ($_POST['curr_abrev'] != get_global_curr_code()) $selected_id = ""; } -set_global_curr_code($_POST['curr_abrev']); +set_global_curr_code(get_post('curr_abrev')); + +$sql = get_sql_for_exchange_rates(get_post('curr_abrev')); + +$cols = array( + _("Date to Use From") => 'date', + _("Exchange Rate") => 'rate', + array('insert'=>true, 'fun'=>'edit_link'), + array('insert'=>true, 'fun'=>'del_link'), +); +$table =& new_db_pager('orders_tbl', $sql, $cols); -if (is_company_currency($_POST['curr_abrev'])) +if (is_company_currency(get_post('curr_abrev'))) { display_note(_("The selected currency is the company currency."), 2); @@ -203,7 +209,11 @@ if (is_company_currency($_POST['curr_abrev'])) else { - display_rates($_POST['curr_abrev']); + br(1); + $table->width = "40%"; + if ($table->rec_count == 0) + $table->ready = false; + display_db_pager($table); br(1); display_rate_edit(); } @@ -212,4 +222,3 @@ end_form(); end_page(); -?>