diff --git a/app/components/paginator_component.rb b/app/components/paginator_component.rb index aa02bae5c..f1a87727f 100644 --- a/app/components/paginator_component.rb +++ b/app/components/paginator_component.rb @@ -12,7 +12,7 @@ class PaginatorComponent < ApplicationComponent end def use_sequential_paginator? - paginator_mode != :numbered || current_page >= paginator_page_limit + paginator_mode != :numbered end def pages diff --git a/app/logical/pagination_extension.rb b/app/logical/pagination_extension.rb index ce63b3790..7bc91c4a0 100644 --- a/app/logical/pagination_extension.rb +++ b/app/logical/pagination_extension.rb @@ -20,10 +20,14 @@ module PaginationExtension elsif page.to_s =~ /\Aa(\d+)\z/i @paginator_mode = :sequential_after paginate_sequential_after($1, records_per_page) + elsif page.to_i > page_limit + raise PaginationError + elsif page.to_i == page_limit + @paginator_mode = :sequential_after + paginate_numbered(page.to_i, records_per_page) else @paginator_mode = :numbered @current_page = [page.to_i, 1].max - raise PaginationError if current_page > page_limit paginate_numbered(current_page, records_per_page) end