Revert "application model: move pagination extension to concern."
This reverts commit 7855e36d17.
Broke pagination due to incorrect memoization causing @paginator_count
to be shared between requests.
This commit is contained in:
@@ -3,13 +3,6 @@ module PaginationExtension
|
||||
|
||||
attr_accessor :current_page, :records_per_page, :paginator_count, :paginator_mode
|
||||
|
||||
def paginated_search(params, defaults: {}, count_pages: params[:search].present?)
|
||||
search_params = params.fetch(:search, {}).permit!
|
||||
search_params = defaults.merge(search_params).with_indifferent_access
|
||||
|
||||
search(search_params).paginate(params[:page], limit: params[:limit], search_count: count_pages)
|
||||
end
|
||||
|
||||
def paginate(page, limit: nil, count: nil, search_count: nil)
|
||||
@records_per_page = limit || Danbooru.config.posts_per_page
|
||||
@records_per_page = @records_per_page.to_i.clamp(1, 1000)
|
||||
@@ -4,7 +4,21 @@ class ApplicationRecord < ActiveRecord::Base
|
||||
include Mentionable
|
||||
extend HasBitFlags
|
||||
extend Searchable
|
||||
extend PaginationExtension
|
||||
|
||||
concerning :PaginationMethods do
|
||||
class_methods do
|
||||
def paginate(*args, **options)
|
||||
extending(PaginationExtension).paginate(*args, **options)
|
||||
end
|
||||
|
||||
def paginated_search(params, defaults: {}, count_pages: params[:search].present?)
|
||||
search_params = params.fetch(:search, {}).permit!
|
||||
search_params = defaults.merge(search_params).with_indifferent_access
|
||||
|
||||
search(search_params).paginate(params[:page], limit: params[:limit], search_count: count_pages)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
concerning :PrivilegeMethods do
|
||||
class_methods do
|
||||
|
||||
Reference in New Issue
Block a user