From 54880b1a4ef8a656d270182d368d4254bc811042 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 8 Sep 2017 12:20:20 -0300 Subject: [PATCH] Bug 19278: Make the pagination plugin use RESTdefaultPageSize This bug introduces a new syspref RESTdefaultPageSize that is used on the Koha::REST::Plugin::Pagination plugin to default to a valid value for the page size if the param is not present on the query. This patch also considers the situation in which no 'page' param is passed, and no header should be added. To test: - Run: $ sudo koha-shell kohadev k$ cd kohaclone k$ prove t/Koha/REST/Plugin/Pagination.t => FAIL: Tests fail because the plugin doesn't behave as the tests expect. - Apply this patch - Run: k$ prove t/Koha/REST/Plugin/Pagination.t => SUCCESS: Tests pass! - Sign off :-D Sponsored-by: Camden County Sponsored-by: ByWater Solutions Signed-off-by: Lari Taskula Signed-off-by: Kyle M Hall Signed-off-by: Jonathan Druart --- Koha/REST/Plugin/Pagination.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Koha/REST/Plugin/Pagination.pm b/Koha/REST/Plugin/Pagination.pm index 55a9bf6c31..1964ac54c5 100644 --- a/Koha/REST/Plugin/Pagination.pm +++ b/Koha/REST/Plugin/Pagination.pm @@ -60,7 +60,11 @@ It also adds X-Total-Count, containing the total results count. my $total = $args->{total}; my $req_page = $args->{params}->{_page}; - my $per_page = $args->{params}->{_per_page}; + my $per_page = $args->{params}->{_per_page} // + C4::Context->preference('RESTdefaultPageSize'); + + # do we need to paginate? + return $c unless $req_page; my $pages = int $total / $per_page; $pages++ -- 2.39.5