X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=purchasing%2Fallocations%2Fsupplier_allocate.php;h=51d6a7b550e21fa020eb151e2c91e49f18bf9483;hb=6ccee45d601e5bf1e0d02e962d82d79fabbe41c1;hp=7ef2b2aa79147c47f115d91a597d21cd011b694c;hpb=da8311619dd73feae101d246a1957b972e00cbd2;p=fa-stable.git diff --git a/purchasing/allocations/supplier_allocate.php b/purchasing/allocations/supplier_allocate.php index 7ef2b2aa..51d6a7b5 100644 --- a/purchasing/allocations/supplier_allocate.php +++ b/purchasing/allocations/supplier_allocate.php @@ -1,22 +1,31 @@ . +***********************************************************************/ $path_to_root="../.."; -include($path_to_root . "/includes/ui/allocation_cart.inc"); $page_security = 3; +include($path_to_root . "/includes/ui/allocation_cart.inc"); include_once($path_to_root . "/includes/session.inc"); - include_once($path_to_root . "/includes/date_functions.inc"); - include_once($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/includes/banking.inc"); - include_once($path_to_root . "/sales/includes/sales_db.inc"); + $js = ""; if ($use_popup_windows) $js .= get_js_open_window(900, 500); -page(_("Allocate Supplier Payment or Credit Note"), false, false, "", $js); +add_js_file('allocate.js'); + +page(_("Allocate Supplier Payment or Credit Note"), false, false, "", $js); //-------------------------------------------------------------------------------- @@ -27,41 +36,33 @@ function clear_allocations() unset($_SESSION['alloc']->allocs); unset($_SESSION['alloc']); } - session_register("alloc"); } - //-------------------------------------------------------------------------------- function check_data() { $total_allocated = 0; - for ($counter=0; $counter < $_POST["TotalNumberOfAllocs"]; $counter++) + for ($counter = 0; $counter < $_POST["TotalNumberOfAllocs"]; $counter++) { - - if (!is_numeric($_POST['amount' . $counter])) + if (!check_num('amount' . $counter, 0)) { - display_error(_("The entry for one or more amounts is invalid.")); - return false; - } - - if ($_POST['amount' . $counter] < 0) - { - display_error(_("The entry for an amount to allocate was negative. A positive allocation amount is expected.")); + display_error(_("The entry for one or more amounts is invalid or negative.")); + set_focus('amount'.$counter); return false; } /*Now check to see that the AllocAmt is no greater than the amount left to be allocated against the transaction under review */ - if ($_POST['amount' . $counter] > $_POST['un_allocated' . $counter]) + if (input_num('amount' . $counter) > $_POST['un_allocated' . $counter]) { //$_POST['amount' . $counter] = $_POST['un_allocated' . $counter]; } - $_SESSION['alloc']->allocs[$counter]->current_allocated = $_POST['amount' . $counter]; + $_SESSION['alloc']->allocs[$counter]->current_allocated = input_num('amount' . $counter); - $total_allocated += $_POST['amount' . $counter]; + $total_allocated += input_num('amount' . $counter); } if ($total_allocated + $_SESSION['alloc']->amount > sys_prefs::allocation_settled_allowance()) @@ -82,7 +83,7 @@ function handle_process() begin_transaction(); // clear all the allocations for this payment/credit - clear_supp_alloctions($_SESSION['alloc']->type, $_SESSION['alloc']->trans_no); + clear_supp_alloctions($_SESSION['alloc']->type, $_SESSION['alloc']->trans_no, $_SESSION['alloc']->date_); // now add the new allocations $total_allocated = 0; @@ -96,6 +97,14 @@ function handle_process() update_supp_trans_allocation($alloc_item->type, $alloc_item->type_no, $alloc_item->current_allocated); + + // Exchange Variations Joe Hunt 2008-09-20 //////////////////////////////////////// + + exchange_variation($_SESSION['alloc']->type, $_SESSION['alloc']->trans_no, + $alloc_item->type, $alloc_item->type_no, $_SESSION['alloc']->date_, + $alloc_item->current_allocated, payment_person_types::supplier()); + + /////////////////////////////////////////////////////////////////////////// $total_allocated += $alloc_item->current_allocated; } @@ -112,7 +121,7 @@ function handle_process() if (isset($_POST['Process'])) { - if (check_data()) + if (check_data()) { handle_process(); $_POST['Cancel'] = 1; @@ -125,9 +134,7 @@ if (isset($_POST['Cancel'])) { clear_allocations(); meta_forward($path_to_root . "/purchasing/allocations/supplier_allocation_main.php"); - exit; } - //-------------------------------------------------------------------------------- function get_allocations_for_transaction($type, $trans_no) @@ -185,16 +192,17 @@ function edit_allocations_for_transaction($type, $trans_no) display_heading($_SESSION['alloc']->person_name); display_heading2(_("Date:") . " " . $_SESSION['alloc']->date_ . ""); - display_heading2(_("Total:") . " " . number_format2(-$_SESSION['alloc']->amount,user_price_dec()) . ""); + display_heading2(_("Total:") . " " . price_format(-$_SESSION['alloc']->amount) . ""); echo "
"; + div_start('alloc_tbl'); if (count($_SESSION['alloc']->allocs) > 0) { start_table($table_style); - $th = array(_("Transaction Type"), _("#"), _("Date"), _("Due Date"), _("Amount"), - _("Other Allocations"), _("This Allocation"), _("Left to Allocate")); - table_header($th); + $th = array(_("Transaction Type"), _("#"), _("Date"), _("Due Date"), _("Amount"), + _("Other Allocations"), _("This Allocation"), _("Left to Allocate"),'',''); + table_header($th); $k = $counter = $total_allocated = 0; @@ -207,54 +215,52 @@ function edit_allocations_for_transaction($type, $trans_no) label_cell($alloc_item->date_, "align=right"); label_cell($alloc_item->due_date, "align=right"); amount_cell($alloc_item->amount); - amount_cell($alloc_item->amount_allocated); + amount_cell($alloc_item->amount_allocated); - if (!isset($_POST['amount' . $counter]) || $_POST['amount' . $counter] == "") - $_POST['amount' . $counter] = $alloc_item->current_allocated; - text_cells(null, "amount" . $counter, $_POST['amount' . $counter], 13, 12); + $_POST['amount' . $counter] = price_format($alloc_item->current_allocated); + amount_cells(null, "amount" . $counter, price_format('amount' . $counter)); $un_allocated = round($alloc_item->amount - $alloc_item->amount_allocated, 6); - hidden("un_allocated" . $counter, $un_allocated); amount_cell($un_allocated); - - label_cell("" . _("All") . ""); - label_cell("" . _("None") . ""); + label_cell("" + . _("All") . ""); + label_cell("" + . _("None") . "".hidden("un_allocated" . $counter, $un_allocated, false)); end_row(); - $total_allocated += $_POST['amount' . $counter]; + $total_allocated += input_num('amount' . $counter); $counter++; } - + label_row(_("Total Allocated"), number_format2($total_allocated,user_price_dec()), - "colspan=6 align=right", "align=right"); + "colspan=6 align=right", "align=right id='total_allocated'", 3); if (-$_SESSION['alloc']->amount - $total_allocated < 0) { $font1 = ""; $font2 = ""; - } + } else $font1 = $font2 = ""; - label_row(_("Left to Allocate"), $font1 . number_format2(-$_SESSION['alloc']->amount - - $total_allocated,user_price_dec()) . $font2, "colspan=6 align=right", - "nowrap align=right"); - end_table(); + $left_to_allocate = price_format(-$_SESSION['alloc']->amount - $total_allocated); + label_row(_("Left to Allocate"), $font1 . $left_to_allocate . $font2, "colspan=6 align=right", + "nowrap align=right id='left_to_allocate'", 3); + end_table(); hidden('TotalNumberOfAllocs', $counter); - echo "
"; - submit('UpdateDisplay', _("Update")); - echo " "; - submit('Process', _("Process")); - echo " "; - } - else + + submit_center_first('UpdateDisplay', _("Refresh"), _('Start again allocation of selected amount'), true); + submit('Process', _("Process"), true, _('Process allocations'), true); + submit_center_last('Cancel', _("Back to Allocations"), + _('Abandon allocations and return to selection of allocatable amounts'), true); + } + else { display_note(_("There are no unsettled transactions to allocate."), 0, 1); - echo "
"; + submit_center('Cancel', _("Back to Allocations"), true, + _('Abandon allocations and return to selection of allocatable amounts'), true); } - submit('Cancel', _("Back to Allocations")); - echo "


"; - + div_end(); end_form(); } @@ -264,6 +270,14 @@ if (isset($_GET['trans_no']) && isset($_GET['trans_type'])) { get_allocations_for_transaction($_GET['trans_type'], $_GET['trans_no']); } +if(get_post('UpdateDisplay')) +{ + $trans_no = $_SESSION['alloc']->trans_no; + $type = $_SESSION['alloc']->type; + clear_allocations(); + get_allocations_for_transaction($type, $trans_no); + $Ajax->activate('alloc_tbl'); +} if (isset($_SESSION['alloc'])) {