Bug 5946 : (MT1177) aqplan.pl, fix the problem of calculating the total remaining.
Bug 5946 followup : (MT1236) aqplan.pl - Fixe the problem of unrounded sums Signed-off-by: Paul Poulain <paul.poulain@biblibre.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
parent
9bb36148fd
commit
0f6270d310
2 changed files with 15 additions and 8 deletions
|
@ -557,12 +557,14 @@ function getElementsByClass( searchClass, domNode, tagName) {
|
|||
|
||||
function calcTotalRow(cell) {
|
||||
|
||||
var bud_id = cell.className;
|
||||
var string = cell.name;
|
||||
var pos = string.indexOf(",", 0);
|
||||
var bud_id = string.substring(0, pos);
|
||||
var val1 = cell.value;
|
||||
var remainingTotal = document.getElementById("budget_est_"+bud_id).textContent;
|
||||
var remainingTotal = document.getElementById("budget_est_"+bud_id);
|
||||
var remainingNew =0;
|
||||
var budgetTotal = document.getElementById("budget_tot_"+bud_id ).textContent;
|
||||
var arr = getElementsByClass(bud_id);
|
||||
var arr = getElementsByClass(cell.className);
|
||||
|
||||
budgetTotal = budgetTotal.replace(/\,/, "");
|
||||
|
||||
|
@ -594,7 +596,7 @@ function calcTotalRow(cell) {
|
|||
|
||||
function autoFillRow(bud_id) {
|
||||
|
||||
var remainingTotal = document.getElementById("budget_est_"+bud_id).textContent;
|
||||
var remainingTotal = document.getElementById("budget_est_"+bud_id);
|
||||
var remainingNew = new Number;
|
||||
var budgetTotal = document.getElementById("budget_tot_"+bud_id ).textContent;
|
||||
var arr = getElementsByClass("plan_entry_" + bud_id);
|
||||
|
@ -602,20 +604,25 @@ function autoFillRow(bud_id) {
|
|||
budgetTotal = budgetTotal.replace(/\,/, "");
|
||||
var qty = new Number;
|
||||
// get the totals
|
||||
var novalueArr = new Array();
|
||||
for ( var i=0, len=arr.length; i<len; ++i ) {
|
||||
remainingNew += Math.abs (arr[i].value );
|
||||
|
||||
if ( arr[i].value == 0 ) {
|
||||
novalueArr[qty] = arr[i];
|
||||
qty += 1;
|
||||
}
|
||||
}
|
||||
|
||||
remainingNew = Math.abs( budgetTotal) - remainingNew ;
|
||||
var newCell = new Number (remainingNew / qty);
|
||||
var rest = new Number (remainingNew - (newCell.toFixed(2) * (novalueArr.length - 1)));
|
||||
|
||||
for ( var i=0, len=arr.length; i<len; ++i ) {
|
||||
if ( Math.abs(arr[i].value) == 0 ) {
|
||||
arr[i].value = newCell.toFixed(2) ;
|
||||
for (var i = 0; i<novalueArr.length; ++i) {
|
||||
if (i == novalueArr.length - 1) {
|
||||
novalueArr[i].value = rest.toFixed(2);
|
||||
}else {
|
||||
novalueArr[i].value = newCell.toFixed(2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ YAHOO.util.Event.onAvailable("popmenu", function () {
|
|||
|
||||
<form method="post" id="Aform" name="Aform" action="/cgi-bin/koha/admin/aqplan.pl">
|
||||
<h3>Planning for <!-- TMPL_VAR NAME="budget_period_description" --> by <!-- TMPL_VAR NAME="authcat" --></h3>
|
||||
|
||||
<input type="hidden" name="authcat" value="<!-- TMPL_VAR NAME="authcat" -->" />
|
||||
<!-- Budget Lines -->
|
||||
|
||||
<!-- TMPL_IF NAME="budget_lines" -->
|
||||
|
|
Loading…
Reference in a new issue