From ac83252f7594cf4273832e124ecb7113323afa26 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 Signed-off-by: Chris Cormack --- 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 c521b23c96..2acdcc782a 100755 --- a/cataloguing/value_builder/cn_browser.pl +++ b/cataloguing/value_builder/cn_browser.pl @@ -36,7 +36,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.11.0