From 02fc7cf45cc57d322bb35b2e2387d45156533d73 Mon Sep 17 00:00:00 2001 From: Blou Date: Thu, 3 Sep 2015 10:44:15 -0400 Subject: [PATCH] [Signed-off] Bug 14779 - Cannot paginate reviews MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When having more than 20 (or numSearchResults) reviews waiting to be approved in /cgi-bin/koha/reviews/reviewswaiting.pl?status=1, the paging at the bottom only offset by 1 entry, instead of moving a full page (20 entries) ahead. The simple fix uses 'page' instead of 'offset'. TEST: 1) Modify numSearchResult preference to a low (5?) value. 2) create X comments, where X is greater than the value above. 3) approve them all (although this step is probably unnecessary) 4) Go to tools >> comments (approved comments tab) 5) You see X entries. Click on page 2 at bottom. Link should show "offset=2") 6) You get same results, except the first one which "slided out". Apply patch, redo step 4-5. With patch, paging works as expected. Signed-off-by: Marc VĂ©ron --- reviews/reviewswaiting.pl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reviews/reviewswaiting.pl b/reviews/reviewswaiting.pl index afb81dc..e3d6c8d 100755 --- a/reviews/reviewswaiting.pl +++ b/reviews/reviewswaiting.pl @@ -41,8 +41,9 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( my $op = $query->param('op') || ''; my $status = $query->param('status') || 0; my $reviewid = $query->param('reviewid'); -my $offset = $query->param('offset') || 0; +my $page = $query->param('page') || 1; my $count = C4::Context->preference('numSearchResults') || 20; +my $offset = ($page-1) * $count; my $total = numberofreviews($status); if ( $op eq 'approve' ) { @@ -72,7 +73,7 @@ my $url = "/cgi-bin/koha/reviews/reviewswaiting.pl?status=$status"; $template->param( status => $status, reviews => $reviews, - pagination_bar => pagination_bar( $url, ( int( $total / $count ) ) + ( ( $total % $count ) > 0 ? 1 : 0 ), $offset, "offset" ) + pagination_bar => pagination_bar( $url, ( int( $total / $count ) ) + ( ( $total % $count ) > 0 ? 1 : 0 ), $page, "page" ) ); output_html_with_http_headers $query, $cookie, $template->output; -- 1.7.10.4