Escape barcode completion button labels
authorThomas Berezansky <tsbere@mvlc.org>
Mon, 11 Mar 2013 19:09:51 +0000 (15:09 -0400)
committerBen Shum <bshum@biblio.org>
Tue, 12 Mar 2013 00:33:40 +0000 (20:33 -0400)
Some characters piss off the XML parser.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Open-ILS/xul/staff_client/chrome/content/main/menu.js

index 1dea0ef..316c033 100644 (file)
@@ -2670,7 +2670,7 @@ commands:
                 if(context != valid_r[i].type && offlineStrings.testString('barcode_choice.' + valid_r[i].type + '_label'))
                     button_label = offlineStrings.getFormattedString('barcode_choice.' + valid_r[i].type + '_label', [button_label]);
 
                 if(context != valid_r[i].type && offlineStrings.testString('barcode_choice.' + valid_r[i].type + '_label'))
                     button_label = offlineStrings.getFormattedString('barcode_choice.' + valid_r[i].type + '_label', [button_label]);
 
-                xml += '<button label="' + button_label + '" name="fancy_submit" value="' + i + '"/>';
+                xml += '<button label="' + button_label.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;') + '" name="fancy_submit" value="' + i + '"/>';
             }
         }
         xml += '<button label="' + offlineStrings.getString('barcode_choice.none') + '" name="fancy_cancel"/>';
             }
         }
         xml += '<button label="' + offlineStrings.getString('barcode_choice.none') + '" name="fancy_cancel"/>';