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);
18 $js .= get_js_date_picker();
19 page(_("Transfer between Bank Accounts"), false, false, "", $js);
21 check_db_has_bank_accounts(_("There are no bank accounts defined in the system."));
22 check_db_has_bank_trans_types(_("There are no bank transfer types defined in the system."));
24 //----------------------------------------------------------------------------------------
26 if (isset($_GET['AddedID']))
28 $trans_no = $_GET['AddedID'];
29 $trans_type = systypes::bank_transfer();
31 display_notification_centered( _("Transfer has been entered"));
33 display_note(get_gl_view_str($trans_type, $trans_no, _("View the GL Journal Entries for this Transfer")));
35 hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter Another Transfer"));
40 //----------------------------------------------------------------------------------------
42 function gl_payment_controls()
45 $home_currency = get_company_currency();
47 start_form(false, true);
49 start_table($table_style2, 5, 7);
50 echo "<tr><td valign=top>"; // outer table
53 bank_accounts_list_row(_("From Account:"), 'FromBankAccount', null, true);
55 bank_accounts_list_row(_("To Account:"), 'ToBankAccount', null, true);
57 date_row(_("Transfer Date:"), 'DatePaid');
59 $from_currency = get_bank_account_currency($_POST['FromBankAccount']);
60 $to_currency = get_bank_account_currency($_POST['ToBankAccount']);
61 if ($from_currency != "" && $to_currency != "" && $from_currency != $to_currency)
63 amount_row(_("Amount:"), 'amount', null, null, $from_currency);
65 exchange_rate_display($from_currency, $to_currency, $_POST['DatePaid']);
69 amount_row(_("Amount:"), 'amount');
73 echo "</td><td valign=top class='tableseparator'>"; // outer table
76 bank_trans_types_list_row(_("Transfer Type:"), 'TransferType', null);
78 ref_row(_("Reference:"), 'ref', references::get_next(systypes::bank_transfer()));
80 textarea_row(_("Memo:"), 'memo_', null, 40,4);
85 end_table(1); // outer table
87 submit_center('AddPayment',_("Enter Transfer"));
92 //----------------------------------------------------------------------------------------
94 function check_valid_entries()
96 if (!is_date($_POST['DatePaid']))
98 display_error(_("The entered date is invalid."));
101 if (!is_date_in_fiscalyear($_POST['DatePaid']))
103 display_error(_("The entered date is not in fiscal year."));
107 if (!check_num('amount', 0))
109 display_error(_("The entered amount is invalid or less than zero."));
113 if (!references::is_valid($_POST['ref']))
115 display_error(_("You must enter a reference."));
119 if (!is_new_reference($_POST['ref'], systypes::bank_transfer()))
121 display_error(_("The entered reference is already in use."));
125 if ($_POST['FromBankAccount'] == $_POST['ToBankAccount'])
127 display_error(_("The source and destination bank accouts cannot be the same."));
134 //----------------------------------------------------------------------------------------
136 function handle_add_deposit()
138 global $path_to_root;
140 $trans_no = add_bank_transfer($_POST['FromBankAccount'], $_POST['ToBankAccount'],
141 $_POST['DatePaid'], input_num('amount'),
142 $_POST['TransferType'], $_POST['ref'], $_POST['memo_']);
144 meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no");
147 //----------------------------------------------------------------------------------------
151 global $path_to_root;
157 //----------------------------------------------------------------------------------------
159 if (isset($_POST['AddPayment']))
161 if (check_valid_entries() == true)
163 handle_add_deposit();
168 gl_payment_controls();