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 if (isset($_POST['_DatePaid_changed'])) {
41 $Ajax->activate('_ex_rate');
44 //----------------------------------------------------------------------------------------
46 function gl_payment_controls()
49 $home_currency = get_company_currency();
51 start_form(false, true);
53 start_table($table_style2, 5, 7);
54 echo "<tr><td valign=top>"; // outer table
57 bank_accounts_list_row(_("From Account:"), 'FromBankAccount', null, true);
59 bank_accounts_list_row(_("To Account:"), 'ToBankAccount', null, true);
61 date_row(_("Transfer Date:"), 'DatePaid', '', null, 0, 0, 0, null, true);
63 $from_currency = get_bank_account_currency($_POST['FromBankAccount']);
64 $to_currency = get_bank_account_currency($_POST['ToBankAccount']);
65 if ($from_currency != "" && $to_currency != "" && $from_currency != $to_currency)
67 amount_row(_("Amount:"), 'amount', null, null, $from_currency);
69 exchange_rate_display($from_currency, $to_currency, $_POST['DatePaid']);
73 amount_row(_("Amount:"), 'amount');
77 echo "</td><td valign=top class='tableseparator'>"; // outer table
80 bank_trans_types_list_row(_("Transfer Type:"), 'TransferType', null);
82 ref_row(_("Reference:"), 'ref', '', references::get_next(systypes::bank_transfer()));
84 textarea_row(_("Memo:"), 'memo_', null, 40,4);
89 end_table(1); // outer table
91 submit_center('AddPayment',_("Enter Transfer"), true, '', true);
96 //----------------------------------------------------------------------------------------
98 function check_valid_entries()
100 if (!is_date($_POST['DatePaid']))
102 display_error(_("The entered date is invalid."));
103 set_focus('DatePaid');
106 if (!is_date_in_fiscalyear($_POST['DatePaid']))
108 display_error(_("The entered date is not in fiscal year."));
109 set_focus('DatePaid');
113 if (!check_num('amount', 0))
115 display_error(_("The entered amount is invalid or less than zero."));
120 if (!references::is_valid($_POST['ref']))
122 display_error(_("You must enter a reference."));
127 if (!is_new_reference($_POST['ref'], systypes::bank_transfer()))
129 display_error(_("The entered reference is already in use."));
134 if ($_POST['FromBankAccount'] == $_POST['ToBankAccount'])
136 display_error(_("The source and destination bank accouts cannot be the same."));
137 set_focus('ToBankAccount');
144 //----------------------------------------------------------------------------------------
146 function handle_add_deposit()
148 global $path_to_root;
150 $trans_no = add_bank_transfer($_POST['FromBankAccount'], $_POST['ToBankAccount'],
151 $_POST['DatePaid'], input_num('amount'),
152 $_POST['TransferType'], $_POST['ref'], $_POST['memo_']);
154 meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no");
157 //----------------------------------------------------------------------------------------
161 global $path_to_root;
167 //----------------------------------------------------------------------------------------
169 if (isset($_POST['AddPayment']))
171 if (check_valid_entries() == true)
173 handle_add_deposit();
178 gl_payment_controls();