[Koha-patches] [PATCH][SIGNED-OFF Bug 5946 : (MT1177) aqplan.pl, fix the problem of calculating the total remaining.
paul.poulain at biblibre.com
paul.poulain at biblibre.com
Tue Apr 5 11:24:00 CEST 2011
From: Alex Arnaud <alex.arnaud at biblibre.com>
Bug 5946 followup : (MT1236) aqplan.pl - Fixe the problem of unrounded sums
Signed-off-by: Paul Poulain <paul.poulain at biblibre.com>
---
koha-tmpl/intranet-tmpl/prog/en/js/acq.js | 21 +++++++++++++------
.../prog/en/modules/admin/aqplan.tmpl | 2 +-
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js b/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
index b5ec994..1b924a2 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
+++ b/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
@@ -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);
}
}
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqplan.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqplan.tmpl
index 0472c5e..61048ce 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqplan.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqplan.tmpl
@@ -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" -->
--
1.7.1
More information about the Koha-patches
mailing list