X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fgl_bank.php;h=86a909cfa82e29fc996ef66df326d35376e18b79;hb=348062667e6a96e9849bf25de0f2a426b4f0b9c6;hp=b035587bff5ba46fb077204fa2ae990391295ce9;hpb=ed12c6b38e84077b5183de344c3a204162bd4e87;p=fa-stable.git diff --git a/gl/gl_bank.php b/gl/gl_bank.php index b035587b..86a909cf 100644 --- a/gl/gl_bank.php +++ b/gl/gl_bank.php @@ -33,6 +33,30 @@ check_db_has_bank_accounts(_("There are no bank accounts defined in the system." check_db_has_bank_trans_types(_("There are no bank payment types defined in the system.")); +//---------------------------------------------------------------------------------------- +if ($ret = context_restore()) { + if(isset($ret['supplier_id'])) + $_POST['person_id'] = $ret['supplier_id']; + if(isset($ret['customer_id'])) + $_POST['person_id'] = $ret['customer_id']; + set_focus('person_id'); + if(isset($ret['branch_id'])) { + $_POST['PersonDetailID'] = $ret['branch_id']; + set_focus('PersonDetailID'); + } +} +if (isset($_POST['_person_id_editor'])) { + if ($_POST['PayType']==payment_person_types::supplier()) + $editor = '/purchasing/manage/suppliers.php?supplier_id='; + else + $editor = '/sales/manage/customers.php?debtor_no='; + +// $_SESSION['pay_items'] should stay unchanged during call +// +context_call($path_to_root.$editor.$_POST['person_id'], + array('bank_account', 'date_', 'PayType', 'person_id', + 'PersonDetailID', 'type', 'ref', 'memo_') ); +} //-------------------------------------------------------------------------------------------------- function line_start_focus() { global $Ajax; @@ -50,9 +74,11 @@ if (isset($_GET['AddedID'])) display_notification_centered(_("Payment has been entered")); - display_note(get_gl_view_str($trans_type, $trans_no, _("View the GL Postings for this Payment"))); + display_note(get_gl_view_str($trans_type, $trans_no, _("&View the GL Postings for this Payment"))); + + hyperlink_params($_SERVER['PHP_SELF'], _("Enter Another &Payment"), "NewPayment=yes"); - hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter Another Payment")); + hyperlink_params($_SERVER['PHP_SELF'], _("Enter A &Deposit"), "NewDeposit=yes"); display_footer_exit(); } @@ -66,43 +92,17 @@ if (isset($_GET['AddedDep'])) display_note(get_gl_view_str($trans_type, $trans_no, _("View the GL Postings for this Deposit"))); - hyperlink_no_params($_SERVER['PHP_SELF'], _("Enter Another Deposit")); + hyperlink_params($_SERVER['PHP_SELF'], _("Enter Another Deposit"), "NewDeposit=yes"); + + hyperlink_params($_SERVER['PHP_SELF'], _("Enter A Payment"), "NewPayment=yes"); display_footer_exit(); } - -//-------------------------------------------------------------------------------------------------- - -function copy_to_py() -{ - $_SESSION['pay_items']->from_loc = $_POST['bank_account']; - $_SESSION['pay_items']->tran_date = $_POST['date_']; - $_SESSION['pay_items']->transfer_type = $_POST['type']; - $_SESSION['pay_items']->increase = $_POST['PayType']; - if (!isset($_POST['person_id'])) - $_POST['person_id'] = ""; - $_SESSION['pay_items']->person_id = $_POST['person_id']; - if (!isset($_POST['PersonDetailID'])) - $_POST['PersonDetailID'] = ""; - $_SESSION['pay_items']->branch_id = $_POST['PersonDetailID']; - $_SESSION['pay_items']->memo_ = $_POST['memo_']; +if (isset($_POST['_date__changed'])) { + $Ajax->activate('_ex_rate'); } - //-------------------------------------------------------------------------------------------------- -function copy_from_py() -{ - $_POST['bank_account'] = $_SESSION['pay_items']->from_loc; - $_POST['date_'] = $_SESSION['pay_items']->tran_date; - $_POST['type'] = $_SESSION['pay_items']->transfer_type; - $_POST['PayType'] = $_SESSION['pay_items']->increase; - $_POST['person_id'] = $_SESSION['pay_items']->person_id; - $_POST['PersonDetailID'] = $_SESSION['pay_items']->branch_id; - $_POST['memo_'] = $_SESSION['pay_items']->memo_; -} - -//----------------------------------------------------------------------------------------------- - function handle_new_order($type) { if (isset($_SESSION['pay_items'])) @@ -165,7 +165,7 @@ if (isset($_POST['Process'])) if (isset($_POST['Process'])) { - + $trans = add_bank_transaction( $_SESSION['pay_items']->trans_type, $_POST['bank_account'], $_SESSION['pay_items'], $_POST['date_'], @@ -178,7 +178,7 @@ if (isset($_POST['Process'])) $_SESSION['pay_items']->clear_items(); unset($_SESSION['pay_items']); - meta_forward($_SERVER['PHP_SELF'], $trans_type==systypes::bank_payment() ? + meta_forward($_SERVER['PHP_SELF'], $trans_type==systypes::bank_payment() ? "AddedID=$trans_no" : "AddedDep=$trans_no"); } /*end of process credit note */ @@ -242,7 +242,7 @@ function handle_new_item() if (!check_item_data()) return; $amount = ($_SESSION['pay_items']->trans_type==systypes::bank_payment() ? 1:-1) * input_num('amount'); - + $_SESSION['pay_items']->add_gl_item($_POST['code_id'], $_POST['dimension_id'], $_POST['dimension2_id'], $amount, $_POST['LineMemo']); line_start_focus(); @@ -250,14 +250,8 @@ function handle_new_item() //----------------------------------------------------------------------------------------------- $id = find_submit('Delete'); -if ($id != -1) { - copy_from_py(); +if ($id != -1) handle_delete_item($id); -} -if (isset($_POST['AddItem']) || isset($_POST['UpdateItem'])) { - copy_to_py(); - line_start_focus(); -} if (isset($_POST['AddItem'])) handle_new_item(); @@ -265,9 +259,53 @@ if (isset($_POST['AddItem'])) if (isset($_POST['UpdateItem'])) handle_update_item(); -if (isset($_POST['CancelItemChanges'])) { +if (isset($_POST['CancelItemChanges'])) line_start_focus(); -} + +if (isset($_POST['go'])) +{ + if (!check_num('totamount', 0)) + { + display_error( _("The amount entered is not a valid number or is less than zero.")); + set_focus('totamount'); + } + elseif (!get_post('person_id')) + { + if ($_SESSION['pay_items']->trans_type==systypes::bank_payment()) + display_error( _("No Quick Entries are defined for Payment.")); + else + display_error( _("No Quick Entries are defined for Deposit.")); + set_focus('totamount'); + } + else + { + $rate = 0; + $totamount = input_num('totamount'); + $qe = get_quick_entry($_POST['person_id']); + $account = get_gl_account($qe['account']); + $tax_group = $account['tax_code']; + $items = get_tax_group_items($tax_group); + while ($item = db_fetch($items)) + $rate += $item['rate']; + if ($rate != 0) + $totamount = $totamount * 100 / ($rate + 100); + $totamount = ($_SESSION['pay_items']->trans_type==systypes::bank_payment() ? 1:-1) * $totamount; + $_SESSION['pay_items']->clear_items(); + $_SESSION['pay_items']->add_gl_item($qe['account'], 0, 0, $totamount, $qe['description']); + $items = get_tax_group_items($tax_group); + while ($item = db_fetch($items)) + { + if ($item['rate'] != 0) + { + $amount = $totamount * $item['rate'] / 100; + $code = ($_SESSION['pay_items']->trans_type==systypes::bank_payment() ? $item['purchasing_gl_code'] : + $item['sales_gl_code']); + $_SESSION['pay_items']->add_gl_item($code, 0, 0, $amount, $qe['description']); + } + } + line_start_focus(); + } +} //----------------------------------------------------------------------------------------------- @@ -278,7 +316,7 @@ display_bank_header($_SESSION['pay_items']); start_table("$table_style2 width=90%", 10); start_row(); echo ""; -display_gl_items($_SESSION['pay_items']->trans_type==systypes::bank_payment() ? +display_gl_items($_SESSION['pay_items']->trans_type==systypes::bank_payment() ? _("Payment Items"):_("Deposit Items"), $_SESSION['pay_items']); gl_options_controls(); echo ""; @@ -286,7 +324,7 @@ end_row(); end_table(1); submit_center_first('Update', _("Update"), '', null); -submit_center_last('Process', $_SESSION['pay_items']->trans_type==systypes::bank_payment() ? +submit_center_last('Process', $_SESSION['pay_items']->trans_type==systypes::bank_payment() ? _("Process Payment"):_("Process Deposit"), '', true); end_form();