<?php
$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);
//--------------------------------------------------------------------------------
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())
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;
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;
}
if (isset($_POST['Process']))
{
- if (check_data())
+ if (check_data())
{
handle_process();
$_POST['Cancel'] = 1;
{
clear_allocations();
meta_forward($path_to_root . "/purchasing/allocations/supplier_allocation_main.php");
- exit;
}
-
//--------------------------------------------------------------------------------
function get_allocations_for_transaction($type, $trans_no)
display_heading($_SESSION['alloc']->person_name);
display_heading2(_("Date:") . " <b>" . $_SESSION['alloc']->date_ . "</b>");
- display_heading2(_("Total:") . " <b>" . number_format2(-$_SESSION['alloc']->amount,user_price_dec()) . "</b>");
+ display_heading2(_("Total:") . " <b>" . price_format(-$_SESSION['alloc']->amount) . "</b>");
echo "<br>";
+ 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;
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("<a href='#' onclick='forms[0].amount$counter.value=forms[0].un_allocated$counter.value; return true;'>" . _("All") . "</a>");
- label_cell("<a href='#' onclick='forms[0].amount$counter.value=0; return true;'>" . _("None") . "</a>");
+ label_cell("<a href='#' name=Alloc$counter onclick='allocate_all(this.name.substr(5));return true;'>"
+ . _("All") . "</a>");
+ label_cell("<a href='#' name=DeAll$counter onclick='allocate_none(this.name.substr(5));return true;'>"
+ . _("None") . "</a>".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'");
if (-$_SESSION['alloc']->amount - $total_allocated < 0)
{
$font1 = "<font color=red>";
$font2 = "</font>";
- }
+ }
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'");
+ end_table();
hidden('TotalNumberOfAllocs', $counter);
- echo "<br><center>";
- 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 "<center>";
+ submit_center('Cancel', _("Back to Allocations"), true,
+ _('Abandon allocations and return to selection of allocatable amounts'), true);
}
- submit('Cancel', _("Back to Allocations"));
- echo "</center><br><br>";
-
+ div_end();
end_form();
}
{
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']))
{