@@ -, +, @@ --- ill/ill-requests.pl | 16 ++++++++++++---- .../intranet-tmpl/prog/en/modules/ill/ill-requests.tt | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) --- a/ill/ill-requests.pl +++ a/ill/ill-requests.pl @@ -30,6 +30,7 @@ use Koha::Libraries; use Koha::Token; use Try::Tiny; +use URI::Escape; our $cgi = CGI->new; my $illRequests = Koha::Illrequests->new; @@ -233,15 +234,22 @@ if ( $backends_available ) { # If we receive a pre-filter, make it available to the template my $possible_filters = ['borrowernumber']; - my $active_filters = []; + my $active_filters = {}; foreach my $filter(@{$possible_filters}) { if ($params->{$filter}) { - push @{$active_filters}, "$filter=$params->{$filter}"; + # We shouldn't need to escape $filter here since we're using + # a whitelist, but just to be sure... + $active_filters->{uri_escape_utf8($filter)} = + uri_escape_utf8(scalar $params->{$filter}) } } - if (scalar @{$active_filters} > 0) { + if (keys %{$active_filters}) { + my @tpl_arr; + foreach my $key (keys %{$active_filters}) { + push @tpl_arr, $key . "=" . $active_filters->{$key}; + } $template->param( - prefilters => join(",", @{$active_filters}) + prefilters => join("&", @tpl_arr) ); } --- a/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt @@ -37,7 +37,7 @@ 'patron' ]; - var prefilters = '[% prefilters | html %]'; + var prefilters = '[% prefilters %]'; // Expanded fields // This is auto populated --