5 include_once($path_to_root . "/includes/ui/items_cart.inc");
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/ui/gl_payment_ui.inc");
12 include_once($path_to_root . "/gl/includes/gl_db.inc");
13 include_once($path_to_root . "/gl/includes/gl_ui.inc");
15 $js = get_js_form_entry("CodeID2", "code_id", "amount");
16 if ($use_popup_windows)
17 $js .= get_js_open_window(800, 500);
19 $js .= get_js_date_picker();
20 $js .= get_js_set_focus('CodeID2');
21 page(_("Bank Account Payment Entry"), false, false, "setFocus()", $js);
23 //-----------------------------------------------------------------------------------------------
25 check_db_has_bank_accounts(_("There are no bank accounts defined in the system."));
27 check_db_has_bank_trans_types(_("There are no bank payment types defined in the system."));
29 //-----------------------------------------------------------------------------------------------
31 if (isset($_GET['AddedID']))
33 $trans_no = $_GET['AddedID'];
34 $trans_type = systypes::bank_payment();
36 display_notification_centered(_("Payment has been entered"));
38 display_note(get_gl_view_str($trans_type, $trans_no, _("View the GL Postings for this Payment")));
40 hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter Another Payment"));
42 display_footer_exit();
45 //--------------------------------------------------------------------------------------------------
49 $_SESSION['pay_items']->from_loc = $_POST['bank_account'];
50 $_SESSION['pay_items']->tran_date = $_POST['date_'];
51 $_SESSION['pay_items']->transfer_type = $_POST['type'];
52 $_SESSION['pay_items']->increase = $_POST['PayType'];
53 if (!isset($_POST['person_id']))
54 $_POST['person_id'] = "";
55 $_SESSION['pay_items']->person_id = $_POST['person_id'];
56 if (!isset($_POST['PersonDetailID']))
57 $_POST['PersonDetailID'] = "";
58 $_SESSION['pay_items']->branch_id = $_POST['PersonDetailID'];
59 $_SESSION['pay_items']->memo_ = $_POST['memo_'];
62 //--------------------------------------------------------------------------------------------------
64 function copy_from_py()
66 $_POST['bank_account'] = $_SESSION['pay_items']->from_loc;
67 $_POST['date_'] = $_SESSION['pay_items']->tran_date;
68 $_POST['type'] = $_SESSION['pay_items']->transfer_type;
69 $_POST['PayType'] = $_SESSION['pay_items']->increase;
70 $_POST['person_id'] = $_SESSION['pay_items']->person_id;
71 $_POST['PersonDetailID'] = $_SESSION['pay_items']->branch_id;
72 $_POST['memo_'] = $_SESSION['pay_items']->memo_;
75 //-----------------------------------------------------------------------------------------------
77 function handle_new_order()
79 if (isset($_SESSION['pay_items']))
81 $_SESSION['pay_items']->clear_items();
82 unset ($_SESSION['pay_items']);
85 session_register("pay_items");
87 $_SESSION['pay_items'] = new items_cart;
89 $_POST['date_'] = Today();
90 if (!is_date_in_fiscalyear($_POST['date_']))
91 $_POST['date_'] = end_fiscalyear();
92 $_SESSION['pay_items']->tran_date = $_POST['date_'];
95 //-----------------------------------------------------------------------------------------------
97 if (isset($_POST['Process']))
102 if (!references::is_valid($_POST['ref']))
104 display_error( _("You must enter a reference."));
107 elseif (!is_new_reference($_POST['ref'], systypes::bank_payment()))
109 display_error( _("The entered reference is already in use."));
112 elseif (!is_date($_POST['date_']))
114 display_error(_("The entered date for the payment is invalid."));
117 elseif (!is_date_in_fiscalyear($_POST['date_']))
119 display_error(_("The entered date is not in fiscal year."));
123 if ($input_error == 1)
124 unset($_POST['Process']);
127 if (isset($_POST['Process']))
130 $trans = add_bank_payment($_POST['bank_account'],
131 $_SESSION['pay_items'], $_POST['date_'],
132 $_POST['PayType'], $_POST['person_id'], $_POST['PersonDetailID'],
133 $_POST['type'], $_POST['ref'], $_POST['memo_']);
135 $trans_type = $trans[0];
136 $trans_no = $trans[1];
138 $_SESSION['pay_items']->clear_items();
139 unset($_SESSION['pay_items']);
141 meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no");
143 } /*end of process credit note */
145 //-----------------------------------------------------------------------------------------------
147 function check_item_data()
149 if (!check_num('amount', 0))
151 display_error( _("The amount entered is not a valid number or is less than zero."));
155 if ($_POST['code_id'] == $_POST['bank_account'])
157 display_error( _("The source and destination accouts cannot be the same."));
161 if (is_bank_account($_POST['code_id']))
163 display_error( _("You cannot make a payment to a bank account. Please use the transfer funds facility for this."));
170 //-----------------------------------------------------------------------------------------------
172 function handle_update_item()
174 if($_POST['UpdateItem'] != "" && check_item_data())
176 $_SESSION['pay_items']->update_gl_item($_POST['Index'], $_POST['dimension_id'],
177 $_POST['dimension2_id'], input_num('amount'), $_POST['LineMemo']);
181 //-----------------------------------------------------------------------------------------------
183 function handle_delete_item()
185 $_SESSION['pay_items']->remove_gl_item($_GET['Delete']);
188 //-----------------------------------------------------------------------------------------------
190 function handle_new_item()
192 if (!check_item_data())
195 $_SESSION['pay_items']->add_gl_item($_POST['code_id'], $_POST['dimension_id'],
196 $_POST['dimension2_id'], input_num('amount'), $_POST['LineMemo']);
199 //-----------------------------------------------------------------------------------------------
201 if (isset($_GET['Delete']) || isset($_GET['Edit']))
204 if (isset($_GET['Delete']))
205 handle_delete_item();
207 if (isset($_POST['AddItem']) || isset($_POST['UpdateItem']))
210 if (isset($_POST['AddItem']))
213 if (isset($_POST['UpdateItem']))
214 handle_update_item();
216 //-----------------------------------------------------------------------------------------------
218 if (isset($_GET['NewPayment']) || !isset($_SESSION['pay_items']))
223 //-----------------------------------------------------------------------------------------------
225 start_form(false, true);
227 display_order_header($_SESSION['pay_items']);
229 start_table("$table_style2 width=90%", 10);
232 display_gl_items(_("Payment Items"), $_SESSION['pay_items']);
233 gl_options_controls();
238 if (!isset($_POST['Process']))
240 submit_center_first('Update', _("Update"));
241 if ($_SESSION['pay_items']->count_gl_items() >= 1)
242 submit_center_last('Process', _("Process Payment"));
247 //------------------------------------------------------------------------------------------------