@@ -, +, @@ --- koha-tmpl/intranet-tmpl/prog/en/js/acq.js | 38 +++++++------------ .../prog/en/modules/acqui/neworderempty.tt | 14 ++++--- 2 files changed, 22 insertions(+), 30 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js +++ a/koha-tmpl/intranet-tmpl/prog/en/js/acq.js @@ -776,30 +776,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: "../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; } --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt @@ -56,12 +56,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++) { @@ -87,6 +81,14 @@ function Check(ff) { [% END %] 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?"); + return confirm(stringWarning); + } + } [% IF (AcqCreateItemOrdering) %] if(check_additem('[% UniqueItemFields %]') == false) { --