5 include_once($path_to_root . "/includes/ui/items_cart.inc");
7 include_once($path_to_root . "/includes/session.inc");
9 include_once($path_to_root . "/includes/date_functions.inc");
10 include_once($path_to_root . "/includes/data_checks.inc");
12 include_once($path_to_root . "/gl/includes/ui/gl_payment_ui.inc");
13 include_once($path_to_root . "/gl/includes/gl_db.inc");
14 include_once($path_to_root . "/gl/includes/gl_ui.inc");
16 $js = get_js_form_entry("CodeID2", "code_id", "amount");
17 if ($use_popup_windows)
18 $js .= get_js_open_window(800, 500);
20 $js .= get_js_date_picker();
21 $js .= get_js_set_focus('CodeID2');
23 page(_("Bank Account Payment Entry"), false, false, "setFocus()", $js);
25 //-----------------------------------------------------------------------------------------------
27 check_db_has_bank_accounts(_("There are no bank accounts defined in the system."));
29 check_db_has_bank_trans_types(_("There are no bank payment types defined in the system."));
31 //-----------------------------------------------------------------------------------------------
33 if (isset($_GET['AddedID']))
35 $trans_no = $_GET['AddedID'];
36 $trans_type = systypes::bank_payment();
38 display_notification_centered(_("Payment has been entered"));
40 display_note(get_gl_view_str($trans_type, $trans_no, _("View the GL Postings for this Payment")));
42 hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter Another Payment"));
44 display_footer_exit();
47 //--------------------------------------------------------------------------------------------------
51 $_SESSION['pay_items']->from_loc = $_POST['bank_account'];
52 $_SESSION['pay_items']->tran_date = $_POST['date_'];
53 $_SESSION['pay_items']->transfer_type = $_POST['type'];
54 $_SESSION['pay_items']->increase = $_POST['PayType'];
55 if (isset($_POST['person_id']))
56 $_POST['person_id'] = 0;
57 $_SESSION['pay_items']->person_id = $_POST['person_id'];
58 if (!isset($_POST['PersonDetailID']))
59 $_POST['PersonDetailID'] = 0;
60 $_SESSION['pay_items']->branch_id = $_POST['PersonDetailID'];
61 $_SESSION['pay_items']->memo_ = $_POST['memo_'];
64 //--------------------------------------------------------------------------------------------------
66 function copy_from_py()
68 $_POST['bank_account'] = $_SESSION['pay_items']->from_loc;
69 $_POST['date_'] = $_SESSION['pay_items']->tran_date;
70 $_POST['type'] = $_SESSION['pay_items']->transfer_type;
71 $_POST['PayType'] = $_SESSION['pay_items']->increase;
72 $_POST['person_id'] = $_SESSION['pay_items']->person_id;
73 $_POST['PersonDetailID'] = $_SESSION['pay_items']->branch_id;
74 $_POST['memo_'] = $_SESSION['pay_items']->memo_;
77 //-----------------------------------------------------------------------------------------------
79 function handle_new_order()
81 if (isset($_SESSION['pay_items']))
83 $_SESSION['pay_items']->clear_items();
84 unset ($_SESSION['pay_items']);
87 session_register("pay_items");
89 $_SESSION['pay_items'] = new items_cart;
91 $_POST['date_'] = Today();
92 if (!is_date_in_fiscalyear($_POST['date_']))
93 $_POST['date_'] = end_fiscalyear();
94 $_SESSION['pay_items']->tran_date = $_POST['date_'];
97 //-----------------------------------------------------------------------------------------------
99 if (isset($_POST['Process']))
104 if (!references::is_valid($_POST['ref']))
106 display_error( _("You must enter a reference."));
109 elseif (!is_new_reference($_POST['ref'], systypes::bank_payment()))
111 display_error( _("The entered reference is already in use."));
114 elseif (!is_date($_POST['date_']))
116 display_error(_("The entered date for the payment is invalid."));
119 elseif (!is_date_in_fiscalyear($_POST['date_']))
121 display_error(_("The entered date is not in fiscal year."));
125 if ($input_error == 1)
126 unset($_POST['Process']);
129 if (isset($_POST['Process']))
132 $trans = add_bank_payment($_POST['bank_account'],
133 $_SESSION['pay_items'], $_POST['date_'],
134 $_POST['PayType'], $_POST['person_id'], $_POST['PersonDetailID'],
135 $_POST['type'], $_POST['ref'], $_POST['memo_']);
137 $trans_type = $trans[0];
138 $trans_no = $trans[1];
140 $_SESSION['pay_items']->clear_items();
141 unset($_SESSION['pay_items']);
143 meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no");
145 } /*end of process credit note */
147 //-----------------------------------------------------------------------------------------------
149 function check_item_data()
151 if (!is_numeric($_POST['amount']))
153 display_error( _("The amount entered is not a valid number."));
157 if ($_POST['amount'] <= 0)
159 display_error( _("The amount entered must be a postitive number."));
163 if ($_POST['code_id'] == $_POST['bank_account'])
165 display_error( _("The source and destination accouts cannot be the same."));
169 if (is_bank_account($_POST['code_id']))
171 display_error( _("You cannot make a payment to a bank account. Please use the transfer funds facility for this."));
178 //-----------------------------------------------------------------------------------------------
180 function handle_update_item()
182 if($_POST['UpdateItem'] != "" && check_item_data())
184 $_SESSION['pay_items']->update_gl_item($_POST['Index'], $_POST['dimension_id'],
185 $_POST['dimension2_id'], $_POST['amount'], $_POST['LineMemo']);
189 //-----------------------------------------------------------------------------------------------
191 function handle_delete_item()
193 $_SESSION['pay_items']->remove_gl_item($_GET['Delete']);
196 //-----------------------------------------------------------------------------------------------
198 function handle_new_item()
200 if (!check_item_data())
203 $_SESSION['pay_items']->add_gl_item($_POST['code_id'], $_POST['dimension_id'],
204 $_POST['dimension2_id'], $_POST['amount'], $_POST['LineMemo']);
207 //-----------------------------------------------------------------------------------------------
209 if (isset($_GET['Delete']) || isset($_GET['Edit']))
212 if (isset($_GET['Delete']))
213 handle_delete_item();
215 if (isset($_POST['AddItem']) || isset($_POST['UpdateItem']))
218 if (isset($_POST['AddItem']))
221 if (isset($_POST['UpdateItem']))
222 handle_update_item();
224 //-----------------------------------------------------------------------------------------------
226 if (isset($_GET['NewPayment']) || !isset($_SESSION['pay_items']))
231 //-----------------------------------------------------------------------------------------------
233 start_form(false, true);
235 display_order_header($_SESSION['pay_items']);
237 start_table("$table_style2 width=90%", 10);
240 display_gl_items(_("Payment Items"), $_SESSION['pay_items']);
241 gl_options_controls();
246 if (!isset($_POST['Process']))
248 submit_center_first('Update', _("Update"));
249 if ($_SESSION['pay_items']->count_gl_items() >= 1)
250 submit_center_last('Process', _("Process Payment"));
255 //------------------------------------------------------------------------------------------------