X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fmanage%2Fexchange_rates.php;h=19ac833e686cbe7e520bbe0a51e0f12eca9d0e87;hb=e8ae3516539a520338117f25d401c0fc234973a4;hp=5ece97ad248abd1f369b7035b2e081e3162499fa;hpb=6183e9450dcd7e4c747889c10903f6ff1b0add33;p=fa-stable.git diff --git a/gl/manage/exchange_rates.php b/gl/manage/exchange_rates.php index 5ece97ad..19ac833e 100644 --- a/gl/manage/exchange_rates.php +++ b/gl/manage/exchange_rates.php @@ -1,7 +1,17 @@ . +***********************************************************************/ $page_security = 9; $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"); @@ -13,22 +23,12 @@ if ($use_date_picker) $js .= get_js_date_picker(); page(_("Exchange Rates"), false, false, "", $js); -//--------------------------------------------------------------------------------------------- +simple_page_mode(false); -if (isset($_GET['selected_id'])) -{ - $selected_id = $_GET['selected_id']; -} -elseif (isset($_POST['selected_id'])) -{ - $selected_id = $_POST['selected_id']; -} -else - $selected_id = ""; //--------------------------------------------------------------------------------------------- function check_data() { - if (!is_date($_POST['date_'])) + if (!is_date($_POST['date_'])) { display_error( _("The entered date is invalid.")); set_focus('date_'); @@ -59,20 +59,20 @@ function handle_submit() if (!check_data()) return false; - if ($selected_id != "") + if ($selected_id != "") { update_exchange_rate($_POST['curr_abrev'], $_POST['date_'], - input_num('BuyRate'), input_num('BuyRate')); - } - else + input_num('BuyRate'), input_num('BuyRate')); + } + else { add_exchange_rate($_POST['curr_abrev'], $_POST['date_'], input_num('BuyRate'), input_num('BuyRate')); } - return true; + $selected_id = ''; } //--------------------------------------------------------------------------------------------- @@ -84,55 +84,35 @@ function handle_delete() if ($selected_id == "") return; delete_exchange_rate($selected_id); - - meta_forward($_SERVER['PHP_SELF']); + $selected_id = ''; } //--------------------------------------------------------------------------------------------- +function edit_link($row) +{ + return button('Edit'.$row["id"], _("Edit"), true, ICON_EDIT); +} + +function del_link($row) +{ + return button('Delete'.$row["id"], _("Delete"), true, ICON_DELETE); +} function display_rates($curr_code) { 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_link_cell("selected_id=" . $myrow["id"]); - delete_link_cell("selected_id=" . $myrow["id"]. "&delete=1"); - - end_row(); - - } //END WHILE LIST LOOP - - end_table(); } //--------------------------------------------------------------------------------------------- function display_rate_edit() { - global $selected_id, $table_style2; + global $selected_id, $table_style2, $Ajax; start_table($table_style2); - if (isset($_POST['get_rate'])) - { - $_POST['BuyRate'] = exrate_format(get_ecb_rate($_POST['curr_abrev'])); - } - if ($selected_id != "") + if ($selected_id != "") { //editing an existing exchange rate @@ -143,20 +123,27 @@ function display_rate_edit() hidden('selected_id', $selected_id); hidden('date_', $_POST['date_']); - hidden('curr_abrev', $_POST['curr_abrev']); label_row(_("Date to Use From:"), $_POST['date_']); - } - else + } + else { + $_POST['date_'] = Today(); + $_POST['BuyRate'] = ''; date_row(_("Date to Use From:"), 'date_'); } - small_amount_row(_("Exchange Rate:"), 'BuyRate', null, '', - submit('get_rate',_("Get")), user_exrate_dec()); + if (isset($_POST['get_rate'])) + { + $_POST['BuyRate'] = exrate_format(get_ecb_rate($_POST['curr_abrev'])); + $Ajax->activate('BuyRate'); + } + small_amount_row(_("Exchange Rate:"), 'BuyRate', null, '', + submit('get_rate',_("Get"), false, _('Get current ECB rate') , true), + user_exrate_dec()); end_table(1); - submit_add_or_update_center($selected_id == ""); + submit_add_or_update_center($selected_id == '', '', true); display_note(_("Exchange rates are entered against the company currency."), 1); } @@ -172,36 +159,29 @@ function clear_data() //--------------------------------------------------------------------------------------------- -if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) -{ - - if (handle_submit()) - { - meta_forward($_SERVER['PHP_SELF']); - } -} +if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') + handle_submit(); //--------------------------------------------------------------------------------------------- -if (isset($_GET['delete'])) -{ - +if ($Mode == 'Delete') handle_delete(); -} + //--------------------------------------------------------------------------------------------- -echo "
"; -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', $_POST['curr_abrev'], true); +currencies_list('curr_abrev', null, true); +echo "
"; // if currency sel has changed, clear the form -if ($_POST['curr_abrev'] != get_global_curr_code()) +if ($_POST['curr_abrev'] != get_global_curr_code()) { clear_data(); $selected_id = ""; @@ -209,20 +189,36 @@ if ($_POST['curr_abrev'] != get_global_curr_code()) set_global_curr_code($_POST['curr_abrev']); -if (is_company_currency($_POST['curr_abrev'])) +$sql = "SELECT date_, rate_buy, id FROM " + .TB_PREF."exchange_rates " + ."WHERE curr_code='".$_POST['curr_abrev']."' + ORDER BY date_ DESC"; + +$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'])) { display_note(_("The selected currency is the company currency."), 2); display_note(_("The company currency is the base currency so exchange rates cannot be set for it."), 1); -} -else +} +else { - display_rates($_POST['curr_abrev']); - - hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter a New Exchange Rate")); + br(1); + if (list_updated('curr_abrev')) { + $table->set_sql($sql); + $table->set_columns($cols); + } + $table->width = "40%"; + display_db_pager($table); br(1); - display_rate_edit(); }