From 390fb4939e2c96422a0113a1cd2b5f1637fbd9ca Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 12 Feb 2021 19:25:10 +0000 Subject: [PATCH] Bug 27680: Allow traditional multi-params to work This patch allows the preceeding test to pass. Strictly, we want a comma delimited string for our _order_by parameter, but we cannot easily block a traditional multi-passed parameter. As such the 'nice' thing to do is handle it when such a thing is passed as it will pass through validation regardless. Signed-off-by: Tomas Cohen Arazi Signed-off-by: Jonathan Druart Signed-off-by: Jonathan Druart (cherry picked from commit bc23981b46e67a6d9ee91a2065293ac472341bed) Signed-off-by: Fridolin Somers (cherry picked from commit 30f02bee8a6553cbb2828d607aaae9e7d2b6c9f3) Signed-off-by: Andrew Fuerste-Henry --- Koha/REST/Plugin/Query.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Koha/REST/Plugin/Query.pm b/Koha/REST/Plugin/Query.pm index c7ab65dc5a..93ce2c2c49 100644 --- a/Koha/REST/Plugin/Query.pm +++ b/Koha/REST/Plugin/Query.pm @@ -92,7 +92,7 @@ Generates the DBIC order_by attributes based on I<$params>, and merges into I<$a if ( defined $args->{params}->{_order_by} ) { my $order_by = $args->{params}->{_order_by}; - $order_by = [ split(/,/, $order_by) ] if ( index(',',$order_by) == -1); + $order_by = [ split(/,/, $order_by) ] if ( !reftype($order_by) && index(',',$order_by) == -1); if ( reftype($order_by) and reftype($order_by) eq 'ARRAY' ) { my @order_by = map { _build_order_atom({ string => $_, result_set => $result_set }) } @{ $order_by }; -- 2.39.5