6 include_once($path_to_root . "/includes/session.inc");
8 include_once($path_to_root . "/includes/date_functions.inc");
9 include_once($path_to_root . "/includes/data_checks.inc");
11 include_once($path_to_root . "/gl/includes/gl_db.inc");
12 include_once($path_to_root . "/gl/includes/gl_ui.inc");
15 if ($use_popup_windows)
16 $js .= get_js_open_window(800, 500);
17 page(_("Transfer between Bank Accounts"), false, false, "", $js);
19 check_db_has_bank_accounts(_("There are no bank accounts defined in the system."));
20 check_db_has_bank_trans_types(_("There are no bank transfer types defined in the system."));
22 //----------------------------------------------------------------------------------------
24 if (isset($_GET['AddedID']))
26 $trans_no = $_GET['AddedID'];
27 $trans_type = systypes::bank_transfer();
29 display_notification_centered( _("Transfer has been entered"));
31 display_note(get_gl_view_str($trans_type, $trans_no, _("View the GL Journal Entries for this Transfer")));
33 hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter Another Transfer"));
38 //----------------------------------------------------------------------------------------
40 function gl_payment_controls()
43 $home_currency = get_company_currency();
45 start_form(false, true);
47 start_table($table_style2, 5, 7);
48 echo "<tr><td valign=top>"; // outer table
51 bank_accounts_list_row(_("From Account:"), 'FromBankAccount', null, true);
53 bank_accounts_list_row(_("To Account:"), 'ToBankAccount', null, true);
55 date_row(_("Transfer Date:"), 'DatePaid');
57 $from_currency = get_bank_account_currency($_POST['FromBankAccount']);
58 $to_currency = get_bank_account_currency($_POST['ToBankAccount']);
59 if ($from_currency != "" && $to_currency != "" && $from_currency != $to_currency)
61 amount_row(_("Amount:"), 'amount', null, null, $from_currency);
63 exchange_rate_display($from_currency, $to_currency, $_POST['DatePaid']);
67 amount_row(_("Amount:"), 'amount');
71 echo "</td><td valign=top class='tableseparator'>"; // outer table
74 bank_trans_types_list_row(_("Transfer Type:"), 'TransferType', null);
76 ref_row(_("Reference:"), 'ref', references::get_next(systypes::bank_transfer()));
78 textarea_row(_("Memo:"), 'memo_', null, 40,4);
83 end_table(1); // outer table
85 submit_center('AddPayment',_("Enter Transfer"));
90 //----------------------------------------------------------------------------------------
92 function check_valid_entries()
94 if (!is_date($_POST['DatePaid']))
96 display_error(_("The entered date is invalid."));
99 if (!is_date_in_fiscalyear($_POST['DatePaid']))
101 display_error(_("The entered date is not in fiscal year."));
105 if (!is_numeric($_POST['amount']))
107 display_error(_("The entered amount is invalid."));
110 if ($_POST['amount'] <= 0)
112 display_error(_("The entered amount must be a positive number."));
116 if (!references::is_valid($_POST['ref']))
118 display_error(_("You must enter a reference."));
122 if (!is_new_reference($_POST['ref'], systypes::bank_transfer()))
124 display_error(_("The entered reference is already in use."));
128 if ($_POST['FromBankAccount'] == $_POST['ToBankAccount'])
130 display_error(_("The source and destination bank accouts cannot be the same."));
137 //----------------------------------------------------------------------------------------
139 function handle_add_deposit()
141 global $path_to_root;
143 $trans_no = add_bank_transfer($_POST['FromBankAccount'], $_POST['ToBankAccount'],
144 $_POST['DatePaid'], $_POST['amount'],
145 $_POST['TransferType'], $_POST['ref'], $_POST['memo_']);
147 meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no");
150 //----------------------------------------------------------------------------------------
154 global $path_to_root;
160 //----------------------------------------------------------------------------------------
162 if (isset($_POST['AddPayment']))
164 if (check_valid_entries() == true)
166 handle_add_deposit();
171 gl_payment_controls();