X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fincludes%2Fui%2Fgl_bank_ui.inc;h=a4a95b85a3027526bcd73d3964940e7f0273cb0b;hb=6ff34c1474ec3724609905319b3bbc087b49451e;hp=6454edbda9bb9cfa4fe631ed07cb0b2044239ab3;hpb=46c5f7a65a7659a44ae8254c63152074363d3987;p=fa-stable.git diff --git a/gl/includes/ui/gl_bank_ui.inc b/gl/includes/ui/gl_bank_ui.inc index 6454edbd..a4a95b85 100644 --- a/gl/includes/ui/gl_bank_ui.inc +++ b/gl/includes/ui/gl_bank_ui.inc @@ -11,19 +11,20 @@ ***********************************************************************/ function display_bank_header(&$order) { - global $Ajax, $Refs; + global $Ajax; $payment = $order->trans_type == ST_BANKPAYMENT; + $customer_error = false; div_start('pmt_header'); - start_outer_table(TABLESTYLE2, "width=90%"); // outer table + start_outer_table(TABLESTYLE2, "width='90%'"); // outer table table_section(1); - bank_accounts_list_row( $payment ? _("From:") : _("To:"), 'bank_account', null, true); - date_row(_("Date:"), 'date_', '', true, 0, 0, 0, null, true); + ref_row(_("Reference:"), 'ref', '', $order->reference, false, $order->trans_type, get_post('date_')); + table_section(2, "33%"); if (!isset($_POST['PayType'])) @@ -46,6 +47,7 @@ function display_bank_header(&$order) $Ajax->activate('code_id'); $Ajax->activate('pagehelp'); $Ajax->activate('editors'); + $Ajax->activate('footer'); } payment_person_types_list_row( $payment ? _("Pay To:"):_("From:"), 'PayType', $_POST['PayType'], true); @@ -55,9 +57,6 @@ function display_bank_header(&$order) text_row_ex($payment ?_("To the Order of:"):_("Name:"), 'person_id', 40, 50); break; - //case PT_WORKORDER : - // workorders_list_row(_("Work Order:"), 'person_id', null); - // break; case PT_SUPPLIER : supplier_list_row(_("Supplier:"), 'person_id', null, false, true, false, true); break; @@ -74,6 +73,17 @@ function display_bank_header(&$order) $_POST['PersonDetailID'] = ANY_NUMERIC; hidden('PersonDetailID'); } + $trans = get_customer_habit($_POST['person_id']); // take care of customers on hold + if (is_array($trans) && $trans['dissallow_invoices'] != 0) + { + if ($payment) + { + $customer_error = true; + display_error(_("This customer account is on hold.")); + } + else + display_warning(_("This customer account is on hold.")); + } break; case PT_QUICKENTRY : @@ -81,28 +91,43 @@ function display_bank_header(&$order) $qid = get_quick_entry(get_post('person_id')); if (list_updated('person_id')) { unset($_POST['totamount']); // enable default + $Ajax->activate('footer'); $Ajax->activate('totamount'); } amount_row($qid['base_desc'].":", 'totamount', price_format($qid['base_amount']), null, "  ".submit('go', _("Go"), false, false, true)); break; - //case payment_person_types::Project() : - // dimensions_list_row(_("Dimension:"), 'person_id', $_POST['person_id'], false, null, true); - // break; } - $person_currency = payment_person_currency($_POST['PayType'], $_POST['person_id']); - $bank_currency = get_bank_account_currency($_POST['bank_account']); + table_section(3, "33%"); - exchange_rate_display($bank_currency, $person_currency, $_POST['date_']); + if (!$order->order_id && !get_post('bank_account')) + { + if ($_POST['PayType'] == PT_CUSTOMER) + $_POST['bank_account'] = get_default_customer_bank_account($_POST['person_id']); + elseif ($_POST['PayType'] == PT_SUPPLIER) + $_POST['bank_account'] = get_default_supplier_bank_account($_POST['person_id']); + else + unset($_POST['bank_account']); + } + + bank_accounts_list_row( $payment ? _("From:") : _("Into:"), 'bank_account', null, true); + if ($payment) + bank_balance_row($_POST['bank_account']); - table_section(3, "33%"); + $bank_currency = get_bank_account_currency($_POST['bank_account']); - ref_row(_("Reference:"), 'ref', ''); + exchange_rate_display(get_company_currency(), $bank_currency, $_POST['date_']); end_outer_table(1); // outer table div_end(); + if ($customer_error) + { + end_form(); + end_page(); + exit; + } } //--------------------------------------------------------------------------------- @@ -115,12 +140,12 @@ function display_gl_items($title, &$order) display_heading($title); div_start('items_table'); - start_table(TABLESTYLE, "colspan=7 width=95%"); + start_table(TABLESTYLE, "width='95%'"); if ($dim == 2) $th = array(_("Account Code"), _("Account Description"), _("Dimension")." 1", _("Dimension")." 2", _("Amount"), _("Memo"), ""); - else if ($dim == 1) + elseif ($dim == 1) $th = array(_("Account Code"), _("Account Description"), _("Dimension"), _("Amount"), _("Memo"), ""); else @@ -145,7 +170,6 @@ function display_gl_items($title, &$order) label_cell(get_dimension_string($item->dimension_id, true)); if ($dim > 1) label_cell(get_dimension_string($item->dimension2_id, true)); - //amount_cell(abs($item->amount)); if ($order->trans_type == ST_BANKDEPOSIT) amount_cell(-$item->amount); else @@ -194,48 +218,43 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) $_POST['LineMemo'] = $item->reference; hidden('Index', $id); - echo gl_all_accounts_list('code_id', null, true, true); - if ($dim >= 1) - dimensions_list_cells(null, 'dimension_id', null, true, " ", false, 1); - if ($dim > 1) - dimensions_list_cells(null, 'dimension2_id', null, true, " ", false, 2); $Ajax->activate('items_table'); } else { - $_POST['amount'] = price_format(0); - $_POST['dimension_id'] = 0; - $_POST['dimension2_id'] = 0; - //$_POST['LineMemo'] = ""; // let memo go to next line Joe Hunt 2010-05-30 if(isset($_POST['_code_id_update'])) { $Ajax->activate('code_id'); } - - if ($_POST['PayType'] == PT_CUSTOMER) - { - $acc = get_branch_accounts($_POST['PersonDetailID']); - $_POST['code_id'] = $acc['receivables_account']; - } - elseif ($_POST['PayType'] == PT_SUPPLIER) + if (list_updated('PayType') || list_updated('person_id')) { - $acc = get_supplier_accounts($_POST['person_id']); - $_POST['code_id'] = $acc['payable_account']; - } - //elseif ($_POST['PayType'] == PT_WORKORDER) - // $_POST['code_id'] = get_company_pref('default_assembly_act'); - else { - $_POST['code_id'] = - get_company_pref($payment ? 'default_cogs_act':'default_inv_sales_act'); + if ($_POST['PayType'] == PT_CUSTOMER) + { + $acc = get_branch_accounts($_POST['PersonDetailID']); + $_POST['code_id'] = is_array($acc) ? $acc['receivables_account'] : ''; + } + elseif ($_POST['PayType'] == PT_SUPPLIER) + { + $acc = get_supplier_accounts($_POST['person_id']); + $_POST['code_id'] = is_array($acc) ? $acc['payable_account'] : ''; + $_POST['dimension_id'] = is_array($acc) ? $acc['dimension_id'] : ''; + $_POST['dimension2_id'] = is_array($acc) ? $acc['dimension2_id'] : ''; + } + else { + $_POST['code_id'] = + get_company_pref($payment ? 'default_cogs_act':'default_inv_sales_act'); + } + $Ajax->activate('dimension_id'); + $Ajax->activate('dimension2_id'); } - echo gl_all_accounts_list('code_id', null, true, true); - if ($dim >= 1) - dimensions_list_cells(null, 'dimension_id', null, true, " ", false, 1); - if ($dim > 1) - dimensions_list_cells(null, 'dimension2_id', null, true, " ", false, 2); } - if ($dim < 1) + echo gl_all_accounts_list('code_id', null, true, true); + if ($dim >= 1) + dimensions_list_cells(null, 'dimension_id', null, true, " ", false, 1); + else hidden('dimension_id', 0); - if ($dim < 2) + if ($dim > 1) + dimensions_list_cells(null, 'dimension2_id', null, true, " ", false, 2); + else hidden('dimension2_id', 0); amount_cells(null, 'amount'); @@ -261,16 +280,29 @@ function gl_edit_item_controls(&$order, $dim, $Index=null) //--------------------------------------------------------------------------------- -function gl_options_controls() +function gl_options_controls($order) { + div_start('footer'); echo "
"; + $type = get_post('PayType'); + $bank_curr = get_bank_account_currency(get_post('bank_account')); + $person_curr = $type == PT_CUSTOMER ? get_customer_currency(get_post('person_id')) + : ($type == PT_SUPPLIER ? get_supplier_currency(get_post('person_id')) : $bank_curr); + + if ($person_curr != $bank_curr) + { + $_POST['settled_amount'] = + price_format(abs($order->gl_items_total() / get_exchange_rate_from_to($bank_curr, $person_curr, get_post('date_')))); + amount_row($type == PT_CUSTOMER ? _("Settled AR Amount:") : _("Settled AP Amount:"), + 'settled_amount', null, null, $person_curr, user_price_dec()); + } textarea_row(_("Memo"), 'memo_', null, 50, 3); echo "
"; + div_end(); } //--------------------------------------------------------------------------------- -?> \ No newline at end of file