Bug 24103: Add option to dump search query to templates

To test:
1 - Apply patch, update database
2 - Note new syspref 'DumpSearchQueryTemplate'
3 - Leave it off
4 - Enable DumpTemplateVariablesOpac and Staff
5 - Search on staff and opac
6 - View the source
7 - Search for 'search_query' - you shouldn't find it
8 - Enable the new pref
9 - Repeat, but you should find the query
10 - Test staff/opac search and advanced search, cataloguing search, authority search, authfinder search, adding to a basket form a new biblio
11 - All should work and show the query
12 - This will work under both ES and Zebra

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Nick Clemens 2019-11-25 14:58:00 +00:00 committed by Martin Renvoize
parent ad433ddfe0
commit 0d33dbcf2e
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
8 changed files with 25 additions and 0 deletions

View File

@ -77,6 +77,7 @@ if ( $op eq "do_search" ) {
\@marclist, \@and_or, \@excluding, \@operator,
\@value, $authtypecode, $orderby
);
$template->param( search_query => $search_query ) if C4::Context->preference('DumpSearchQueryTemplate');
my $offset = $startfrom * $resultsperpage;
my ( $results, $total ) =
$searcher->search_auth_compat( $search_query, $offset,

View File

@ -111,6 +111,7 @@ if ( $op eq "do_search" ) {
}
);
$template->param( search_query => $search_query ) if C4::Context->preference('DumpSearchQueryTemplate');
$template->param(
csrf_token => Koha::Token->new->generate_csrf({
session_id => scalar $query->cookie('CGISESSID'),

View File

@ -493,6 +493,8 @@ my $searcher = Koha::SearchEngine::Search->new(
= $builder->build_query_compat( \@operators, \@operands, \@indexes, \@limits,
\@sort_by, $scan, $lang, { weighted_fields => !$cgi->param('advsearch'), whole_record => $whole_record });
$template->param( search_query => $query ) if C4::Context->preference('DumpSearchQueryTemplate');
## parse the query_cgi string and put it into a form suitable for <input>s
my @query_inputs;
my $scan_index_to_use;

View File

@ -83,6 +83,9 @@ if ($query) {
( undef, $builtquery, undef, $query_cgi, undef, undef, undef, undef, undef, undef ) =
$builder->build_query_compat( undef, \@operands, undef, undef, undef, 0, $lang );
}
$template->param( search_query => $builtquery ) if C4::Context->preference('DumpSearchQueryTemplate');
# find results
my ( $error, $marcresults, $total_hits ) = $searcher->simple_search_compat($builtquery, $results_per_page * ($page - 1), $results_per_page);

View File

@ -0,0 +1,9 @@
$DBversion = 'XXX'; # will be replaced by the RM
if( CheckVersion( $DBversion ) ) {
$dbh->do(q{
INSERT IGNORE INTO `systempreferences` (variable,value,options,explanation,type)
VALUES ('DumpSearchQueryTemplate',0,'','Add the search query being passed to the search engine into the template for debugging','YesNo')
});
SetVersion( $DBversion );
print "Upgrade to $DBversion done (Bug XXXXX - add DumpSearchQueryTemplate syspref)\n";
}

View File

@ -160,6 +160,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
('DisplayLibraryFacets', 'holding', 'home|holding|both', 'Defines which library facets to display.', 'Choice'),
('DisplayMultiPlaceHold','1','','Display the ability to place multiple holds or not','YesNo'),
('DisplayOPACiconsXSLT','1','','If ON, displays the format, audience, and material type icons in XSLT MARC21 results and detail pages in the OPAC.','YesNo'),
('DumpSearchQueryTemplate',0,'','Add the search query being passed to the search engine into the template for debugging','YesNo'),
('DumpTemplateVarsIntranet', '0', NULL , 'If enabled, dump all Template Toolkit variable to a comment in the html source for the staff intranet.', 'YesNo'),
('DumpTemplateVarsOpac', '0', NULL , 'If enabled, dump all Template Toolkit variable to a comment in the html source for the opac.', 'YesNo'),
('EasyAnalyticalRecords','0','','If on, display in the catalogue screens tools to easily setup analytical record relationships','YesNo'),

View File

@ -91,3 +91,9 @@ Logging:
on: Do
off: "Don't"
- dump all Template Toolkit variable to a comment in the html source for the OPAC.
-
- pref: DumpSearchQueryTemplate
choices:
on: Do
off: "Don't"
- dump search query as a template parameter, requires DumpTemplateVars[interface] to be visible.

View File

@ -572,6 +572,8 @@ if (C4::Context->preference('OpacSuppression')) {
}
);
$template->param( search_query => $query ) if C4::Context->preference('DumpSearchQueryTemplate');
sub _input_cgi_parse {
my @elements;
my $query_cgi = shift or return @elements;