for ($counter = 0; $counter < $_POST["TotalNumberOfAllocs"]; $counter++)
{
- if (!check_num('amount' . $counter))
+ if (!check_num('amount' . $counter, 0))
{
- display_error(_("The entry for one or more amounts is invalid."));
+ display_error(_("The entry for one or more amounts is invalid or negative."));
set_focus('amount'.$counter);
return false;
}
begin_transaction();
// clear all the allocations for this payment/credit
- clear_cust_alloctions($_SESSION['alloc']->type, $_SESSION['alloc']->trans_no);
+ clear_cust_alloctions($_SESSION['alloc']->type, $_SESSION['alloc']->trans_no, $_SESSION['alloc']->date_);
// now add the new allocations
$total_allocated = 0;
update_debtor_trans_allocation($allocn_item->type, $allocn_item->type_no,
$allocn_item->current_allocated);
- $total_allocated += $allocn_item->current_allocated;
+ // Exchange Variations Joe Hunt 2008-09-20 ////////////////////////////////////////
+
+ exchange_variation($_SESSION['alloc']->type, $_SESSION['alloc']->trans_no,
+ $allocn_item->type, $allocn_item->type_no, $_SESSION['alloc']->date_,
+ $allocn_item->current_allocated, payment_person_types::customer());
+
+ ///////////////////////////////////////////////////////////////////////////
+ $total_allocated += $allocn_item->current_allocated;
}
} /*end of the loop through the array of allocations made */
clear_allocations();
}
-
//--------------------------------------------------------------------------------
if (isset($_POST['Process']))
$_POST['Cancel'] = 1;
}
}
-
//--------------------------------------------------------------------------------
if (isset($_POST['Cancel']))
{
clear_allocations();
meta_forward($path_to_root . "/sales/allocations/customer_allocation_main.php");
- exit;
}
-
//--------------------------------------------------------------------------------
function get_allocations_for_transaction($type, $trans_no)
0); // this allocation
}
-
/* Now get trans that might have previously been allocated to by this trans
NB existing entries where still some of the trans outstanding entered from
above logic will be overwritten with the prev alloc detail below */
$myrow["Total"], $myrow["alloc"] - $myrow["amt"], $myrow["amt"]);
}
}
-
//--------------------------------------------------------------------------------
function edit_allocations_for_transaction($type, $trans_no)
{
global $table_style;
- start_form(false, true);
-
display_heading(sprintf(_("Allocation of %s # %d"), systypes::name($_SESSION['alloc']->type),$_SESSION['alloc']->trans_no));
display_heading($_SESSION['alloc']->person_name);
echo "<br>";
+ start_form(false, true);
+ div_start('alloc_tbl');
if (count($_SESSION['alloc']->allocs) > 0)
{
start_table($table_style);
foreach ($_SESSION['alloc']->allocs as $allocn_item)
{
- alt_table_row_color($k);
+ alt_table_row_color($k);
label_cell(systypes::name($allocn_item->type));
label_cell(get_trans_view_str($allocn_item->type, $allocn_item->type_no));
amount_cell($allocn_item->amount);
amount_cell($allocn_item->amount_allocated);
- if (!check_num('amount' . $counter))
- $_POST['amount' . $counter] = price_format($allocn_item->current_allocated);
- amount_cells(null, 'amount' . $counter, $_POST['amount' . $counter]);
+ $_POST['amount' . $counter] = price_format($allocn_item->current_allocated);
+ amount_cells(null, 'amount' . $counter, price_format('amount' . $counter));
$un_allocated = round($allocn_item->amount - $allocn_item->amount_allocated, 6);
- hidden("un_allocated" . $counter, $un_allocated);
amount_cell($un_allocated);
- label_cell("<a href='#' name=Alloc$counter onclick='allocate_all(this.name.substr(5));return true;'>"
+ 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>");
+ 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 += input_num('amount' . $counter);
end_table(1);
hidden('TotalNumberOfAllocs', $counter);
-// hidden('left_to_allocate', $left_to_allocate);
- submit_center_first('UpdateDisplay', _("Update"));
- submit('Process', _("Process"));
+ 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);
- }
-
- submit_center_last('Cancel', _("Back to Allocations"));
+ submit_center('Cancel', _("Back to Allocations"), true,
+ _('Abandon allocations and return to selection of allocatable amounts'), true);
+ }
+ 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']))
{