Bug 7598: make strings in acquisitions JavaScript translatable
authorOwen Leonard <oleonard@myacpl.org>
Mon, 10 Sep 2012 12:34:33 +0000 (08:34 -0400)
committerChris Hall <followingthepath@gmail.com>
Mon, 16 Sep 2013 08:06:58 +0000 (20:06 +1200)
English strings in acq.js cannot be processed by the translation script.
This patch moves the strings to the templates to be set as JS variables
for use by the script.

To test:

- On the uncertain prices page, enter an invalid price and click save.
  You should see a JavaScript alert pointing this out.

- When adding a fund to an existing budget, enter an amount which
  exceeds the amount in the parent budget. You should see a JavaScript
  alert pointing this out. There is a similar function which has been
  corrected, checkBudgetParent(), but I don't know how to trigger it for
  testing.

The closebasketgroup function has been updated but as far as I can tell
it's not actually in use.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit f69e13665da007a6ab28e4c1d5a7d1a50f3ac3ac)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit d8eeb697c873b1ba9366bbce275a14d004931f40)

Conflicts:

koha-tmpl/intranet-tmpl/prog/en/js/acq.js

Solved.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit d8eeb697c873b1ba9366bbce275a14d004931f40)
Signed-off-by: Chris Hall <followingthepath@gmail.com>
(cherry picked from commit 297e7fa540d8b6eddf5289c37865844dcf258d09)

koha-tmpl/intranet-tmpl/prog/en/js/acq.js
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/uncertainprice.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgets.tt

index 538b937..21ae278 100644 (file)
@@ -4,7 +4,7 @@
 function uncheckbox(form, field) {
     var price = new Number(form.elements['price' + field].value);
     var tmpprice = "";
-    var errmsg = _("ERROR: Price is not a valid number, please check the price and try again!")
+    var errmsg = MSG_INVALIDPRICE;
     if (isNaN(price)) {
         alert(errmsg);
         for(var i=0; i<form.elements['price' + field].value.length; ++i) {
@@ -335,7 +335,7 @@ function enterpressed(event){
 
 //Closes a basketgroup
 function closebasketgroup(bgid) {
-    var answer=confirm(_("Are you sure you want to close this basketgroup?"));
+    var answer = confirm(MSG_CONFIRM_CLOSE_BASKETGROUP);
     if(! answer){
         return;
     }
@@ -353,7 +353,7 @@ function closebasketgroup(bgid) {
     var ul = document.getElementById(ulid);
     var lis = ul.getElementsByTagName('li');
     if (lis.length == 0 ) {
-        alert(_("Why close an empty basket?"));
+        alert(MSG_CLOSE_EMPTY_BASKET);
         return;
     }
     var cantprint = document.createElement('p');
@@ -369,11 +369,11 @@ function closebasketgroup(bgid) {
     ddtarget.unreg();
     div.removeChild(stufftoremove);
 // the print button is disabled because the page's content might (or is probably) not in sync with what the database contains
-    cantprint.innerHTML=_("You need to save the page before printing");
+    cantprint.innerHTML = MSG_SAVE_BEFORE_PRINTING;
     cantprint.id = 'cantprint-' + bgid;
     var unclosegroup = document.createElement('a');
     unclosegroup.href='javascript:unclosegroup('+bgid+');';
-    unclosegroup.innerHTML=_("reopen basketgroup");
+    unclosegroup.innerHTML= MSG_REOPEN_BASKETGROUP;
     unclosegroup.id = 'unclose-' + bgid;
 
     div.appendChild(cantprint);
@@ -384,7 +384,7 @@ function closeandprint(bg){
        if(document.location = '/cgi-bin/koha/acqui/basketgroup.pl?op=closeandprint&amp;basketgroupid=' + bg ){
                setTimeout("window.location.reload();",3000);
        }else{
-               alert(_("Error downloading the file"));
+        alert(MSG_FILE_DOWNLOAD_ERROR);
        }
 }
 
@@ -850,9 +850,9 @@ if ( newBudgetParent  ) { url +=  '&parent_id=' + newBudgetParent};
     var result = eval ( xmlhttp.responseText );
 
     if (result == '1') {
-            return _("- Budget total exceeds parent allocation\n");
+            return MSG_BUDGET_PARENT_ALLOCATION;
     } else if (result == '2') {
-            return _("- Budget total exceeds period allocation\n");
+            return MSG_BUDGET_PARENT_ALLOCATION;
     } else  {
             return false;
     }
@@ -884,7 +884,7 @@ function checkBudgetParent(budgetId, newBudgetParent) {
     var result = eval ( xmlhttp.responseText );
 
     if (result == '1') {
-            return _("- New budget-parent is beneath budget\n");
+            return MSG_PARENT_BENEATH_BUDGET;
 //     } else if (result == '2') {
 //            return "- New budget-parent has insufficent funds\n";
 //     } else  {
index 5b34721..01ff1ab 100644 (file)
@@ -85,6 +85,12 @@ fieldset.various li {
 //<![CDATA[
        YAHOO.util.Event.onDOMReady(DDApp.init, DDApp, true);
 
+var MSG_CONFIRM_CLOSE_BASKETGROUP = _("Are you sure you want to close this basketgroup?");
+var MSG_CLOSE_EMPTY_BASKET = _("Why close an empty basket?");
+var MSG_SAVE_BEFORE_PRINTING = _("You need to save the page before printing");
+var MSG_REOPEN_BASKETGROUP = _("reopen basketgroup");
+var MSG_FILE_DOWNLOAD_ERROR = _("Error downloading the file");
+
 function submitForm(form) {
     if (form.close.checked == true) {
        var input = document.createElement("input");
index 1b1f070..4db7cf6 100644 (file)
@@ -15,6 +15,7 @@
         "sPaginationType": "four_button"
     } ) );
  });
+var MSG_INVALIDPRICE = _("ERROR: Price is not a valid number, please check the price and try again!");
  //]]>
 </script>
 <script type="text/javascript" src="[% themelang %]/js/acq.js"></script>
index a437b10..0ccdc48 100644 (file)
@@ -1,6 +1,13 @@
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Administration &rsaquo; Funds[% IF ( add_form ) %] &rsaquo; [% IF ( budget_id ) %]Modify fund[% IF ( budget_name ) %] '[% budget_name %]'[% END %][% ELSE %]Add fund [% END %][% END %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
+<script type="text/javascript">
+//<![CDATA[
+var MSG_BUDGET_PARENT_ALLOCATION = _("- Fund amount exceeds parent allocation\n");
+var MSG_PARENT_BENEATH_BUDGET = _("- New budget-parent is beneath budget\n");
+//]]>
+</script>
+
 <script type="text/javascript" src="[% themelang %]/js/acq.js"></script>
 
 [% IF ( add_form ) %]