X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fmanage%2Fcurrencies.php;h=971dbf3b123ca6a38047314c12084ce2f47fbbeb;hb=97ce7657f26ca3cc7f7d705a8ca019bf06b31600;hp=11373fcf3d6c9009c51044528e8a9dae26a8e7ee;hpb=c4eae7a18f0eb824e6eda7be2ba6fa820e9e58c9;p=fa-stable.git diff --git a/gl/manage/currencies.php b/gl/manage/currencies.php index 11373fcf..971dbf3b 100644 --- a/gl/manage/currencies.php +++ b/gl/manage/currencies.php @@ -9,11 +9,11 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License here . ***********************************************************************/ -$page_security = 9; -$path_to_root="../.."; +$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"); @@ -65,14 +65,14 @@ 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']); + $_POST['country'], $_POST['hundreds_name'], check_value('auto_update')); display_notification(_('New currency has been added')); } $Mode = 'RESET'; @@ -80,45 +80,33 @@ function handle_submit() //--------------------------------------------------------------------------------------------- -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; @@ -132,7 +120,7 @@ function check_can_delete() function handle_delete() { global $selected_id, $Mode; - if (check_can_delete()) { + if (check_can_delete($selected_id)) { //only delete if used in neither customer or supplier, comp prefs, bank trans accounts delete_currency($selected_id); display_notification(_('Selected currency has been deleted')); @@ -144,15 +132,13 @@ function handle_delete() function display_currencies() { - global $table_style; - - $company_currency = get_company_currency(); + $company_currency = get_company_currency(); - $result = get_currencies(); - start_form(); - 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 @@ -172,6 +158,9 @@ function display_currencies() label_cell($myrow["currency"]); label_cell($myrow["hundreds_name"]); label_cell($myrow["country"]); + 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_button_cell("Delete".$myrow["curr_abrev"], _("Delete")); @@ -181,8 +170,8 @@ function display_currencies() } //END WHILE LIST LOOP + inactive_control_row($th); end_table(); - end_form(); display_note(_("The marked currency is the home currency which cannot be deleted."), 0, 0, "class='currentfg'"); } @@ -190,10 +179,9 @@ function display_currencies() function display_currency_edit($selected_id) { - global $table_style2, $Mode; + global $Mode; - start_form(); - start_table($table_style2); + start_table(TABLESTYLE2); if ($selected_id != '') { @@ -206,6 +194,7 @@ function display_currency_edit($selected_id) $_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); @@ -213,19 +202,18 @@ function display_currency_edit($selected_id) } 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 == '', '', 'both'); - - end_form(); } //--------------------------------------------------------------------------------------------- @@ -247,12 +235,12 @@ if ($Mode == 'RESET') $_POST['hundreds_name'] = ''; } +start_form(); display_currencies(); display_currency_edit($selected_id); - +end_form(); //--------------------------------------------------------------------------------------------- end_page(); -?>