[Koha-patches] [PATCH] Bug 5946 followup : (MT1236) aqplan.pl - Fixe the problem of unrounded sums

Chris Cormack chrisc at catalyst.net.nz
Thu Mar 24 21:45:50 CET 2011


From: Alex Arnaud <alex.arnaud at biblibre.com>

---
 koha-tmpl/intranet-tmpl/prog/en/js/acq.js |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js b/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
index 28afc19..1b924a2 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
+++ b/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
@@ -596,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);
@@ -604,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);
         }
     }
 
-- 
1.7.1



More information about the Koha-patches mailing list