[Patches] [PATCH] Patch for bug 6832 to fix the ajax validation of exceed budget in new orders, reworked for 3.6.

koha-patchbot at kohaaloha.com koha-patchbot at kohaaloha.com
Fri Nov 4 19:53:37 NZDT 2011


From: Maxime Pelletier <maxime.pelletier at libeo.com>
Date: Tue, 25 Oct 2011 15:23:29 -0400
Subject: [PATCH] Patch for bug 6832 to fix the ajax validation of exceed budget in new orders, reworked for 3.6.

---
 koha-tmpl/intranet-tmpl/prog/en/js/acq.js          |   36 +++++++------------
 .../prog/en/modules/acqui/neworderempty.tt         |   24 ++++++++-----
 2 files changed, 27 insertions(+), 33 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js b/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
index e6d2315..2358532 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
+++ b/koha-tmpl/intranet-tmpl/prog/en/js/acq.js
@@ -780,30 +780,20 @@ for (i=1;i<=2;i++) {
 
 //USED BY NEWORDEREMPTY.PL
 function totalExceedsBudget(budgetId, total) {
-
-    var xmlhttp = null;
-    xmlhttp = new XMLHttpRequest();
-    if ( typeof xmlhttp.overrideMimeType != 'undefined') {
-        xmlhttp.overrideMimeType('text/xml');
-    }
-
-    var url = '../acqui/check_budget_total.pl?budget_id=' + budgetId + "&total=" + total;
-    xmlhttp.open('GET', url, false);
-    xmlhttp.send(null);
-
-    xmlhttp.onreadystatechange = function() {
-        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
-
-            actTotal = eval ( xmlhttp.responseText );
-
-            if (  Math.abs(actTotal) < Math.abs(total)  ) {
-            // if budget is to low :(
-                return true ;
-            } else {
-                return false;
-            }
+    budgetTotal = 0;
+    $.ajax({
+        url: "/cgi-bin/koha/acqui/check_budget_total.pl",
+        async:false,
+        method: "post",
+        data: {budget_id : budgetId, total : total},
+        success: function(actTotal) {
+            actTotal = Math.abs(actTotal);
+            exceeds = (actTotal < Math.abs(total))
+            if (exceeds)
+                budgetTotal = actTotal;
         }
-    }
+    });
+    return budgetTotal;
 }
 
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
index 39e9ca2..7ddcf33 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
@@ -39,12 +39,6 @@ function Check(ff) {
                     _alertString += "\n- " + _("Total must be a number");
     }
 
-    if (totalExceedsBudget(ff.budget_id.value, ff.total.value  )  ) {
-        ok=1;
-        _alertString += "\n- " + _("Order total (") + ff.total.value +
-            _(") exceeds budget available (") + actTotal+")";
-    }
-
     if ( ff.field_value ) {
         var empty_item_mandatory = 0;
         for (i = 0; i < ff.field_value.length; i++) {
@@ -60,13 +54,23 @@ function Check(ff) {
         }
     }
 
-if (ok) {
+    if (ok) {
         alert(_alertString);
-    return false;
+        return false;
+    }
+    else {
+        if (actTotal = totalExceedsBudget(ff.budget_id.value, ff.total.value  )  ) {
+            stringWarning = _("Order total (") + ff.total.value +
+                _(") exceeds budget available (") + actTotal+")\n";
+            stringWarning += _("Are you sure you want do save this order?");
+            var r=confirm(stringWarning);
+            if (! r){
+                return false;
+            }
+        }
     }
 
-ff.submit();
-
+    ff.submit();
 }
 
 $(document).ready(function() 
-- 
1.7.2.3




More information about the Patches mailing list