From 48080ec9ccefd2ca867bd243049ba170ebb43123 Mon Sep 17 00:00:00 2001 From: Phil Ringnalda Date: Fri, 2 Oct 2020 14:52:57 -0700 Subject: [PATCH] Bug 26605: Correctly URI-encode query string in call number browse plugin If you search for a call number like "M KRUEGER CO #11" in the cn_browser.pl plugin, your query is cut off at "M KRUEGER CO " because the hash isn't escaped, so the browser thinks you are opening a window and trying to navigate to the element with the id 11 rather than passing the #11 to the server. To test: 1) Find the record you will use to test, determing the MARC framework it uses by going to Edit > Edit record > Settings 2) In Administration > MARC bibliographic framework, click MARC structure in the Actions menu for that framework 3) Navigate to the 952 tag, in the Actions menu click Edit subfields 4) In the tab for o, choose the Plugin cn_browser.pl and click Save Changes 5) Click the Edit button next to one of the items on your record 6) In the Full call number field, add " CO #11" to the call number 7) Click the ... next to the field to open the Tag editor 8) In the popup window, verify that the search field includes the " CO #11" you added to the call number --- cataloguing/value_builder/cn_browser.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cataloguing/value_builder/cn_browser.pl b/cataloguing/value_builder/cn_browser.pl index 6e5f7b8c11..b6d80d1954 100755 --- a/cataloguing/value_builder/cn_browser.pl +++ b/cataloguing/value_builder/cn_browser.pl @@ -37,7 +37,7 @@ my $builder = sub { function Click$function_name(i) { q = document.getElementById('$params->{id}'); - window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=cn_browser.pl&popup&q=\"+q.value,\"cnbrowser\",\"width=500,height=400,toolbar=false,scrollbars=yes\"); + window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=cn_browser.pl&popup&q=\"+encodeURIComponent(q.value),\"cnbrowser\",\"width=500,height=400,toolbar=false,scrollbars=yes\"); } //]]> -- 2.26.1