Bug 19196: Rename page and per_page
authorTomas Cohen Arazi <tomascohen@theke.io>
Mon, 25 Sep 2017 18:01:51 +0000 (15:01 -0300)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 9 Oct 2017 19:15:51 +0000 (16:15 -0300)
This patch just renames 'page' and 'per_page' params, for
'_page' and '_per_page' respectively.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lari Taskula <lari.taskula@jns.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Koha/REST/Plugin/Pagination.pm
t/Koha/REST/Plugin/Pagination.t

index 8b09dd1..5f5b7eb 100644 (file)
@@ -42,8 +42,8 @@ sub register {
     $c->add_pagination_headers({
         total  => $patrons->count,
         params => {
-            page     => ...
-            per_page => ...
+            _page     => ...
+            _per_page => ...
             ...
         }
     });
@@ -59,8 +59,8 @@ It also adds X-Total-Count, containing the total results count.
             my ( $c, $args ) = @_;
 
             my $total    = $args->{total};
-            my $req_page = $args->{params}->{page};
-            my $per_page = $args->{params}->{per_page};
+            my $req_page = $args->{params}->{_page};
+            my $per_page = $args->{params}->{_per_page};
 
             my $pages = int $total / $per_page;
             $pages++
@@ -124,8 +124,8 @@ sub _build_link {
 
     my $params = $args->{params};
 
-    $params->{page}     = $args->{page};
-    $params->{per_page} = $args->{per_page};
+    $params->{_page}     = $args->{page};
+    $params->{_per_page} = $args->{per_page};
 
     my $link = '<'
         . $c->req->url->clone->query(
index 04d51e1..586b373 100644 (file)
@@ -32,19 +32,19 @@ get '/empty' => sub {
 
 get '/pagination_headers' => sub {
     my $c = shift;
-    $c->add_pagination_headers({ total => 10, params => { page => 2, per_page => 3, firstname => 'Jonathan' } });
+    $c->add_pagination_headers({ total => 10, params => { _page => 2, _per_page => 3, firstname => 'Jonathan' } });
     $c->render( json => { ok => 1 }, status => 200 );
 };
 
 get '/pagination_headers_first_page' => sub {
     my $c = shift;
-    $c->add_pagination_headers({ total => 10, params => { page => 1, per_page => 3, firstname => 'Jonathan' } });
+    $c->add_pagination_headers({ total => 10, params => { _page => 1, _per_page => 3, firstname => 'Jonathan' } });
     $c->render( json => { ok => 1 }, status => 200 );
 };
 
 get '/pagination_headers_last_page' => sub {
     my $c = shift;
-    $c->add_pagination_headers({ total => 10, params => { page => 4, per_page => 3, firstname => 'Jonathan' } });
+    $c->add_pagination_headers({ total => 10, params => { _page => 4, _per_page => 3, firstname => 'Jonathan' } });
     $c->render( json => { ok => 1 }, status => 200 );
 };
 
@@ -67,44 +67,44 @@ subtest 'add_pagination_headers() tests' => sub {
     $t->get_ok('/pagination_headers')
       ->status_is( 200 )
       ->header_is( 'X-Total-Count' => 10, 'X-Total-Count contains the passed value' )
-      ->header_like( 'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="prev",/ )
-      ->header_like( 'Link' => qr/<http:\/\/.*\?.*page=1.*>; rel="prev",/ )
+      ->header_like( 'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="prev",/ )
+      ->header_like( 'Link' => qr/<http:\/\/.*\?.*_page=1.*>; rel="prev",/ )
       ->header_like( 'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="prev",/ )
-      ->header_like( 'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="next",/ )
-      ->header_like( 'Link' => qr/<http:\/\/.*\?.*page=3.*>; rel="next",/ )
+      ->header_like( 'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="next",/ )
+      ->header_like( 'Link' => qr/<http:\/\/.*\?.*_page=3.*>; rel="next",/ )
       ->header_like( 'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="next",/ )
-      ->header_like( 'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="first",/ )
-      ->header_like( 'Link' => qr/<http:\/\/.*\?.*page=1.*>; rel="first",/ )
+      ->header_like( 'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="first",/ )
+      ->header_like( 'Link' => qr/<http:\/\/.*\?.*_page=1.*>; rel="first",/ )
       ->header_like( 'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="first",/ )
-      ->header_like( 'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="last"/ )
-      ->header_like( 'Link' => qr/<http:\/\/.*\?.*page=4.*>; rel="last"/ )
+      ->header_like( 'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="last"/ )
+      ->header_like( 'Link' => qr/<http:\/\/.*\?.*_page=4.*>; rel="last"/ )
       ->header_like( 'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="last"/ );
 
     $t->get_ok('/pagination_headers_first_page')
       ->status_is( 200 )
       ->header_is( 'X-Total-Count' => 10, 'X-Total-Count contains the passed value' )
       ->header_unlike( 'Link' => qr/<http:\/\/.*\?.*>; rel="prev",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="next",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*page=2.*>; rel="next",/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="next",/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_page=2.*>; rel="next",/ )
       ->header_like(   'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="next",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="first",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*page=1.*>; rel="first",/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="first",/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_page=1.*>; rel="first",/ )
       ->header_like(   'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="first",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="last"/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*page=4.*>; rel="last"/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="last"/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_page=4.*>; rel="last"/ )
       ->header_like(   'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="last"/ );
 
     $t->get_ok('/pagination_headers_last_page')
       ->status_is( 200 )
       ->header_is( 'X-Total-Count' => 10, 'X-Total-Count contains the passed value' )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="prev",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*page=3.*>; rel="prev",/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="prev",/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_page=3.*>; rel="prev",/ )
       ->header_like(   'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="prev",/ )
       ->header_unlike( 'Link' => qr/<http:\/\/.*\?.*>; rel="next",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="first",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*page=1.*>; rel="first",/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="first",/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_page=1.*>; rel="first",/ )
       ->header_like(   'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="first",/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*per_page=3.*>; rel="last"/ )
-      ->header_like(   'Link' => qr/<http:\/\/.*\?.*page=4.*>; rel="last"/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_per_page=3.*>; rel="last"/ )
+      ->header_like(   'Link' => qr/<http:\/\/.*\?.*_page=4.*>; rel="last"/ )
       ->header_like(   'Link' => qr/<http:\/\/.*\?.*firstname=Jonathan.*>; rel="last"/ );
 };