X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/addf99f1911ec617ba258e075a53d774dee2a672..3d79f9fd88ab2784b292c8eafc46070472b2a4c9:/app/controllers/concerns/pagination_methods.rb diff --git a/app/controllers/concerns/pagination_methods.rb b/app/controllers/concerns/pagination_methods.rb index 58b522516..79ab10bfb 100644 --- a/app/controllers/concerns/pagination_methods.rb +++ b/app/controllers/concerns/pagination_methods.rb @@ -5,7 +5,10 @@ module PaginationMethods ## # limit selected items to one page, get ids of first item before/after the page - def get_page_items(items, includes) + def get_page_items(items, includes: [], limit: 20) + param! :before, Integer, :min => 1 + param! :after, Integer, :min => 1 + id_column = "#{items.table_name}.id" page_items = if params[:before] items.where("#{id_column} < ?", params[:before]).order(:id => :desc) @@ -15,7 +18,7 @@ module PaginationMethods items.order(:id => :desc) end - page_items = page_items.limit(20) + page_items = page_items.limit(limit) page_items = page_items.includes(includes) page_items = page_items.sort.reverse