From 3cf42f01a26222775635f1734e3cf0d89a531080 Mon Sep 17 00:00:00 2001 From: Dan Pearl Date: Fri, 2 Mar 2018 13:37:43 -0500 Subject: [PATCH] LP173259 - Array error appears in search box while placing hold after advanced search The place-hold code assumed it was not in "_adv" parameter mode. This assumption was faulty. Now, the link generated for Place Hold from (advanced search) results will translate the argument list to the single-line format that Place Hold expected. Signed-off-by: Dan Pearl Signed-off-by: Cesar Velez --- Open-ILS/src/templates/opac/parts/result/table.tt2 | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/templates/opac/parts/result/table.tt2 b/Open-ILS/src/templates/opac/parts/result/table.tt2 index df787f74aa..7848bb6d9d 100644 --- a/Open-ILS/src/templates/opac/parts/result/table.tt2 +++ b/Open-ILS/src/templates/opac/parts/result/table.tt2 @@ -10,6 +10,7 @@ %] +[% USE cgi %] [% PROCESS "opac/parts/result/paginate.tt2" %] [% ctx.results_count_header = PROCESS results_count_header; ctx.results_count_header %] @@ -386,10 +387,27 @@ END; && (ctx.holds_block.enabled != 'true' || attrs.org_copy_counts.$search_ou.available == 0) ) %] + [% del_parms = ['tag','subfield','term','_special', + 'sort','page']; + add_parms = {hold_target => rec.id, + hold_type => hold_type, + hold_source_page => mkurl()}; + + IF cgi.param("_adv"); + # Do not pass "advanced params" to hold code + # Instead, pass the scrubed query in one-line form + add_del_parms = ['query', 'bool', + 'qtype', 'contains', '_adv']; + del_parms = del_parms.merge(add_del_parms); + add_parms = {hold_target => rec.id, + hold_type => hold_type, + hold_source_page => mkurl(), + query = ctx.naive_query_scrub(ctx.user_query)}; + END; %] +