From a6c1b72b59cbe198bc3e6da0ae8a6ea1e6cdbc62 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 27 Jul 2021 11:27:21 +0000 Subject: [PATCH] Bug 28764: Parse direction parameter in public list view This patch adds a check for a 'direction' paramter in list sorting. It maintains the existing syntax for sorting 'sortfield=field:direction' but adds support for the form used in paginations and more commonly thtoughout Koha' sortfield=field&direction=direction' To test: 1 - Create a public list 2 - Add enough items to generate two pages (40 worked for me) 3 - View the list and enforce sorting by date added descending: sortfield=dateadded:desc 4 - Note the titles shown 5 - Click to second page using the pagination bar 6 - Note the same titles are shown, in a reversed order 7 - Apply patch 8 - repeat 305 9 - Second page is sorted correctly! Signed-off-by: Owen Leonard Signed-off-by: Marcel de Rooy Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall (cherry picked from commit 13c0679fa0ac58cb404bed29f77b512be6cdf08d) Signed-off-by: Fridolin Somers --- opac/opac-shelves.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/opac/opac-shelves.pl b/opac/opac-shelves.pl index a603b7bccb..c5ef973721 100755 --- a/opac/opac-shelves.pl +++ b/opac/opac-shelves.pl @@ -263,6 +263,7 @@ if ( $op eq 'view' ) { $sortfield = $shelf->sortfield; $direction = 'asc'; } + if( defined( $query->param('direction') ) ){ $direction = $query->param('direction'); } $sortfield = 'title' if !$sortfield or !grep { $_ eq $sortfield } qw( title author copyrightdate itemcallnumber dateadded ); $direction = 'asc' if !$direction or ( $direction ne 'asc' and $direction ne 'desc' ); my ( $page, $rows ); -- 2.39.5