X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fmanage%2Fbank_accounts.php;h=fee5e89daefc58acfec9ff9e4456836d974b7c53;hb=b8ca787d4997e98d29af963f9e23534796381c44;hp=14b4e7949bffe050d0665ce7fcec2951d53135b1;hpb=b368791672016b32791f0042773ee39c717f2d8d;p=fa-stable.git diff --git a/gl/manage/bank_accounts.php b/gl/manage/bank_accounts.php index 14b4e794..fee5e89d 100644 --- a/gl/manage/bank_accounts.php +++ b/gl/manage/bank_accounts.php @@ -1,23 +1,26 @@ . +***********************************************************************/ +$page_security = 'SA_BANKACCOUNT'; +$path_to_root = "../.."; include($path_to_root . "/includes/session.inc"); -page(_("Bank Accounts")); +page(_($help_context = "Bank Accounts")); include($path_to_root . "/includes/ui.inc"); -if (isset($_GET['selected_id'])) -{ - $selected_id = $_GET['selected_id']; -} -elseif (isset($_POST['selected_id'])) -{ - $selected_id = $_POST['selected_id']; -} +simple_page_mode(); +//----------------------------------------------------------------------------------- -if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) +if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { //initialise no input errors assumed initially before we test @@ -28,64 +31,84 @@ if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) { $input_error = 1; display_error(_("The bank account name cannot be empty.")); + set_focus('bank_account_name'); } - + if ($Mode=='ADD_ITEM' && (gl_account_in_bank_accounts(get_post('account_code')) + || key_in_foreign_table(get_post('account_code'), 'gl_trans', 'account'))) { + $input_error = 1; + display_error(_("The GL account selected is already in use or has transactions. Select another empty GL account.")); + set_focus('account_code'); + } if ($input_error != 1) { - if (isset($selected_id)) + if ($selected_id != -1) { - update_bank_account($selected_id, $_POST['account_type'], $_POST['bank_account_name'], $_POST['bank_name'], - $_POST['bank_account_number'], - $_POST['bank_address'], $_POST['BankAccountCurrency']); + update_bank_account($selected_id, $_POST['account_code'], + $_POST['account_type'], $_POST['bank_account_name'], + $_POST['bank_name'], $_POST['bank_account_number'], + $_POST['bank_address'], $_POST['BankAccountCurrency'], + $_POST['dflt_curr_act'], $_POST['bank_charge_act']); + display_notification(_('Bank account has been updated')); } else { - add_bank_account($_POST['account_code'], $_POST['account_type'], $_POST['bank_account_name'], $_POST['bank_name'], - $_POST['bank_account_number'], - $_POST['bank_address'], $_POST['BankAccountCurrency']); + add_bank_account($_POST['account_code'], $_POST['account_type'], + $_POST['bank_account_name'], $_POST['bank_name'], + $_POST['bank_account_number'], $_POST['bank_address'], + $_POST['BankAccountCurrency'], $_POST['dflt_curr_act'], $_POST['bank_charge_act']); + display_notification(_('New bank account has been added')); } - - meta_forward($_SERVER['PHP_SELF']); + $Mode = 'RESET'; } - } -elseif (isset($_GET['delete'])) +elseif( $Mode == 'Delete') { //the link to delete a selected record was clicked instead of the submit button $cancel_delete = 0; - // PREVENT DELETES IF DEPENDENT RECORDS IN 'bank_trans' - $sql= "SELECT COUNT(*) FROM ".TB_PREF."bank_trans WHERE bank_act='$selected_id'"; - $result = db_query($sql,"check failed"); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (key_in_foreign_table($selected_id, 'bank_trans', 'bank_act') || key_in_foreign_table(get_post('account_code'), 'gl_trans', 'account')) { $cancel_delete = 1; display_error(_("Cannot delete this bank account because transactions have been created using this account.")); } + + if (key_in_foreign_table($selected_id, 'sales_pos', 'pos_account')) + { + $cancel_delete = 1; + display_error(_("Cannot delete this bank account because POS definitions have been created using this account.")); + } if (!$cancel_delete) { delete_bank_account($selected_id); - meta_forward($_SERVER['PHP_SELF']); + display_notification(_('Selected bank account has been deleted')); } //end if Delete bank account + $Mode = 'RESET'; +} + +if ($Mode == 'RESET') +{ + $selected_id = -1; + $_POST['bank_name'] = $_POST['bank_account_name'] = ''; + $_POST['bank_account_number'] = $_POST['bank_address'] = ''; + $_POST['bank_charge_act'] = get_company_pref('bank_charge_act'); } +if (!isset($_POST['bank_charge_act'])) + $_POST['bank_charge_act'] = get_company_pref('bank_charge_act'); /* Always show the list of accounts */ -$sql = "SELECT ".TB_PREF."bank_accounts.*, ".TB_PREF."chart_master.account_name FROM ".TB_PREF."bank_accounts, ".TB_PREF."chart_master - WHERE ".TB_PREF."bank_accounts.account_code = ".TB_PREF."chart_master.account_code"; -$result = db_query($sql,"could not get bank accounts"); - -check_db_error("The bank accounts set up could not be retreived", $sql); +$result = get_bank_accounts(check_value('show_inactive')); -start_table("$table_style width='80%'"); +start_form(); +start_table(TABLESTYLE, "width='80%'"); -$th = array(_("GL Account"), _("Bank"), _("Account Name"), - _("Type"), _("Number"), _("Currency"), _("Bank Address")); +$th = array(_("Account Name"), _("Type"), _("Currency"), _("GL Account"), + _("Bank"), _("Number"), _("Bank Address"), _("Dflt"), '',''); +inactive_control_column($th); table_header($th); $k = 0; @@ -94,33 +117,34 @@ while ($myrow = db_fetch($result)) alt_table_row_color($k); + label_cell($myrow["bank_account_name"], "nowrap"); + label_cell($bank_account_types[$myrow["account_type"]], "nowrap"); + label_cell($myrow["bank_curr_code"], "nowrap"); label_cell($myrow["account_code"] . " " . $myrow["account_name"], "nowrap"); label_cell($myrow["bank_name"], "nowrap"); - label_cell($myrow["bank_account_name"], "nowrap"); - label_cell(bank_account_types::name($myrow["account_type"]), "nowrap"); label_cell($myrow["bank_account_number"], "nowrap"); - label_cell($myrow["bank_curr_code"], "nowrap"); label_cell($myrow["bank_address"]); - edit_link_cell("selected_id=" . $myrow["account_code"]); - delete_link_cell("selected_id=" . $myrow["account_code"]. "&delete=1"); + if ($myrow["dflt_curr_act"]) + label_cell(_("Yes")); + else + label_cell(_("No")); + + inactive_control_cell($myrow["id"], $myrow["inactive"], 'bank_accounts', 'id'); + edit_button_cell("Edit".$myrow["id"], _("Edit")); + delete_button_cell("Delete".$myrow["id"], _("Delete")); end_row(); } -//END WHILE LIST LOOP - -end_table(); - -hyperlink_no_params($_SERVER['PHP_SELF'], _("New Bank Account")); - -start_form(); +inactive_control_row($th); +end_table(1); -$is_editing = (isset($selected_id) && !isset($_GET['delete'])); +$is_used = $selected_id != -1 && key_in_foreign_table($selected_id, 'bank_trans', 'bank_act'); -start_table($table_style2); +start_table(TABLESTYLE2); -if ($is_editing) +if ($selected_id != -1) { - + if ($Mode == 'Edit') { $myrow = get_bank_account($selected_id); $_POST['account_code'] = $myrow["account_code"]; @@ -130,40 +154,52 @@ if ($is_editing) $_POST['bank_account_number'] = $myrow["bank_account_number"]; $_POST['bank_address'] = $myrow["bank_address"]; $_POST['BankAccountCurrency'] = $myrow["bank_curr_code"]; - + $_POST['dflt_curr_act'] = $myrow["dflt_curr_act"]; + $_POST['bank_charge_act'] = $myrow["bank_charge_act"]; + } hidden('selected_id', $selected_id); - hidden('account_code', $_POST['account_code']); - hidden('BankAccountCurrency', $_POST['BankAccountCurrency']); - label_row(_("Bank Account GL Code:"), $_POST['account_code']); + set_focus('bank_account_name'); +} + +text_row(_("Bank Account Name:"), 'bank_account_name', null, 50, 100); + +if ($is_used) +{ + label_row(_("Account Type:"), $bank_account_types[$_POST['account_type']]); + hidden('account_type'); } else { - gl_all_accounts_list_row(_("Bank Account GL Code:"), 'account_code', null, true); + bank_account_types_list_row(_("Account Type:"), 'account_type', null); } - -bank_account_types_list_row(_("Account Type:"), 'account_type', null); - -text_row(_("Bank Name:"), 'bank_name', null, 50, 50); -text_row(_("Bank Account Name:"), 'bank_account_name', null, 50, 50); -text_row(_("Bank Account Number:"), 'bank_account_number', null, 30, 30); - -if ($is_editing) +if ($is_used) { label_row(_("Bank Account Currency:"), $_POST['BankAccountCurrency']); + hidden('BankAccountCurrency', $_POST['BankAccountCurrency']); } else { currencies_list_row(_("Bank Account Currency:"), 'BankAccountCurrency', null); } +yesno_list_row(_("Default currency account:"), 'dflt_curr_act'); + +if($is_used) +{ + label_row(_("Bank Account GL Code:"), $_POST['account_code']); + hidden('account_code'); +} else + gl_all_accounts_list_row(_("Bank Account GL Code:"), 'account_code', null); + +gl_all_accounts_list_row(_("Bank Charges Account:"), 'bank_charge_act', null, true); +text_row(_("Bank Name:"), 'bank_name', null, 50, 60); +text_row(_("Bank Account Number:"), 'bank_account_number', null, 30, 60); textarea_row(_("Bank Address:"), 'bank_address', null, 40, 5); -//text_row(_("Bank Address:"), 'bank_address', null, 70, 70); end_table(1); -submit_add_or_update_center(!isset($selected_id)); +submit_add_or_update_center($selected_id == -1, '', 'both'); end_form(); end_page(); -?>