X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fmanage%2Fcurrencies.php;h=a6cf55afddb27d58ae3da4b90304b22d348f55ad;hb=fe97ad7097366fe3de8770fb5110e9c447dbc58c;hp=1cdd54214d0b624d97c03c312c228cf1531fbda8;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/gl/manage/currencies.php b/gl/manage/currencies.php index 1cdd5421..a6cf55af 100644 --- a/gl/manage/currencies.php +++ b/gl/manage/currencies.php @@ -1,26 +1,25 @@ . +***********************************************************************/ +$page_security = 'SA_CURRENCY'; +$path_to_root = "../.."; include_once($path_to_root . "/includes/session.inc"); -page(_("Currencies")); +page(_($help_context = "Currencies")); include_once($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/includes/banking.inc"); -//--------------------------------------------------------------------------------------------- +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() @@ -28,21 +27,25 @@ function check_data() if (strlen($_POST['Abbreviation']) == 0) { display_error( _("The currency abbreviation must be entered.")); + set_focus('Abbreviation'); return false; } elseif (strlen($_POST['CurrencyName']) == 0) { display_error( _("The currency name must be entered.")); + set_focus('CurrencyName'); return false; } elseif (strlen($_POST['Symbol']) == 0) { display_error( _("The currency symbol must be entered.")); + set_focus('Symbol'); return false; } elseif (strlen($_POST['hundreds_name']) == 0) { display_error( _("The hundredths name must be entered.")); + set_focus('hundreds_name'); return false; } @@ -53,7 +56,7 @@ function check_data() function handle_submit() { - global $selected_id; + global $selected_id, $Mode; if (!check_data()) return false; @@ -62,59 +65,48 @@ function handle_submit() { update_currency($_POST['Abbreviation'], $_POST['Symbol'], $_POST['CurrencyName'], - $_POST['country'], $_POST['hundreds_name']); + $_POST['country'], $_POST['hundreds_name'], check_value('auto_update')); + display_notification(_('Selected currency settings has been updated')); } else { add_currency($_POST['Abbreviation'], $_POST['Symbol'], $_POST['CurrencyName'], - $_POST['country'], $_POST['hundreds_name']); - } - - return true; + $_POST['country'], $_POST['hundreds_name'], check_value('auto_update')); + display_notification(_('New currency has been added')); + } + $Mode = 'RESET'; } //--------------------------------------------------------------------------------------------- -function check_can_delete() +function check_can_delete($curr) { - global $selected_id; - - if ($selected_id == "") + + if ($curr == "") return false; + // PREVENT DELETES IF DEPENDENT RECORDS IN debtors_master - $sql= "SELECT COUNT(*) FROM ".TB_PREF."debtors_master WHERE curr_code = '$selected_id'"; - $result = db_query($sql); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (key_in_foreign_table($curr, 'debtors_master', 'curr_code')) { display_error(_("Cannot delete this currency, because customer accounts have been created referring to this currency.")); return false; } - $sql= "SELECT COUNT(*) FROM ".TB_PREF."suppliers WHERE curr_code = '$selected_id'"; - $result = db_query($sql); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (key_in_foreign_table($curr, 'suppliers', 'curr_code')) { display_error(_("Cannot delete this currency, because supplier accounts have been created referring to this currency.")); return false; } - - $sql= "SELECT COUNT(*) FROM ".TB_PREF."company WHERE curr_default = '$selected_id'"; - $result = db_query($sql); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + + if ($curr == get_company_pref('curr_default')) { display_error(_("Cannot delete this currency, because the company preferences uses this currency.")); return false; } // see if there are any bank accounts that use this currency - $sql= "SELECT COUNT(*) FROM ".TB_PREF."bank_accounts WHERE bank_curr_code = '$selected_id'"; - $result = db_query($sql); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (key_in_foreign_table($curr, 'bank_accounts', 'bank_curr_code')) { display_error(_("Cannot delete this currency, because thre are bank accounts that use this currency.")); return false; @@ -127,29 +119,26 @@ function check_can_delete() function handle_delete() { - global $selected_id; - if (!check_can_delete()) - return; + global $selected_id, $Mode; + if (check_can_delete($selected_id)) { //only delete if used in neither customer or supplier, comp prefs, bank trans accounts - - delete_currency($selected_id); - - meta_forward($_SERVER['PHP_SELF']); + delete_currency($selected_id); + display_notification(_('Selected currency has been deleted')); + } + $Mode = 'RESET'; } //--------------------------------------------------------------------------------------------- function display_currencies() { - global $table_style; - - $company_currency = get_company_currency(); + $company_currency = get_company_currency(); - $result = get_currencies(); - - start_table($table_style); + $result = get_currencies(check_value('show_inactive')); + start_table(TABLESTYLE); $th = array(_("Abbreviation"), _("Symbol"), _("Currency Name"), - _("Hundredths name"), _("Country"), "", ""); + _("Hundredths name"), _("Country"), _("Auto update"), "", ""); + inactive_control_column($th); table_header($th); $k = 0; //row colour counter @@ -169,16 +158,20 @@ function display_currencies() label_cell($myrow["currency"]); label_cell($myrow["hundreds_name"]); label_cell($myrow["country"]); - edit_link_cell("selected_id=" . $myrow["curr_abrev"]); + label_cell( $myrow[1] == $company_currency ? '-' : + ($myrow["auto_update"] ? _('Yes') :_('No')), "align='center'"); + inactive_control_cell($myrow["curr_abrev"], $myrow["inactive"], 'currencies', 'curr_abrev'); + edit_button_cell("Edit".$myrow["curr_abrev"], _("Edit")); if ($myrow["curr_abrev"] != $company_currency) - delete_link_cell("selected_id=" . $myrow["curr_abrev"]. "&delete=1"); - + delete_button_cell("Delete".$myrow["curr_abrev"], _("Delete")); + else + label_cell(''); end_row(); } //END WHILE LIST LOOP + inactive_control_row($th); end_table(); - display_note(_("The marked currency is the home currency which cannot be deleted."), 0, 0, "class='currentfg'"); } @@ -186,70 +179,67 @@ function display_currencies() function display_currency_edit($selected_id) { - global $table_style2; + global $Mode; - start_form(); - start_table($table_style2); + start_table(TABLESTYLE2); - if ($selected_id != "") + if ($selected_id != '') { - //editing an existing currency - $myrow = get_currency($selected_id); - - $_POST['Abbreviation'] = $myrow["curr_abrev"]; - $_POST['Symbol'] = $myrow["curr_symbol"]; - $_POST['CurrencyName'] = $myrow["currency"]; - $_POST['country'] = $myrow["country"]; - $_POST['hundreds_name'] = $myrow["hundreds_name"]; - + if ($Mode == 'Edit') { + //editing an existing currency + $myrow = get_currency($selected_id); + + $_POST['Abbreviation'] = $myrow["curr_abrev"]; + $_POST['Symbol'] = $myrow["curr_symbol"]; + $_POST['CurrencyName'] = $myrow["currency"]; + $_POST['country'] = $myrow["country"]; + $_POST['hundreds_name'] = $myrow["hundreds_name"]; + $_POST['auto_update'] = $myrow["auto_update"]; + } + hidden('Abbreviation'); hidden('selected_id', $selected_id); - hidden('Abbreviation', $_POST['Abbreviation']); - label_row(_("Currency Abbreviation:"), $_POST['Abbreviation']); + label_row(_("Currency Abbreviation:"), $_POST['Abbreviation']); } else { - text_row_ex(_("Currency Abbreviation:"), 'Abbreviation', 4, 3); + $_POST['auto_update'] = 1; + text_row_ex(_("Currency Abbreviation:"), 'Abbreviation', 4, 3); } text_row_ex(_("Currency Symbol:"), 'Symbol', 10); text_row_ex(_("Currency Name:"), 'CurrencyName', 20); text_row_ex(_("Hundredths Name:"), 'hundreds_name', 15); text_row_ex(_("Country:"), 'country', 40); - + check_row(_("Automatic exchange rate update:"), 'auto_update', get_post('auto_update')); end_table(1); - submit_add_or_update_center($selected_id == ""); - - end_form(); + submit_add_or_update_center($selected_id == '', '', 'both'); } //--------------------------------------------------------------------------------------------- -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(); -} //--------------------------------------------------------------------------------------------- +if ($Mode == 'RESET') +{ + $selected_id = ''; + $_POST['Abbreviation'] = $_POST['Symbol'] = ''; + $_POST['CurrencyName'] = $_POST['country'] = ''; + $_POST['hundreds_name'] = ''; +} +start_form(); display_currencies(); -hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter a New Currency")); - display_currency_edit($selected_id); - +end_form(); //--------------------------------------------------------------------------------------------- end_page();