diff --git a/app/controllers/admin/bulk_line_items_controller.rb b/app/controllers/admin/bulk_line_items_controller.rb index 67156648bb..666a8aef2b 100644 --- a/app/controllers/admin/bulk_line_items_controller.rb +++ b/app/controllers/admin/bulk_line_items_controller.rb @@ -15,12 +15,11 @@ module Admin ransack(params[:q]).result. reorder('spree_line_items.order_id ASC, spree_line_items.id ASC') - pagy = nil - pagy, @line_items = pagy(@line_items) if pagination_required? + @pagy, @line_items = pagy(@line_items) if pagination_required? render json: { line_items: serialized_line_items, - pagination: pagination_data(pagy) + pagination: pagination_data } end diff --git a/app/controllers/api/v0/exchange_products_controller.rb b/app/controllers/api/v0/exchange_products_controller.rb index ed2fe33986..9257266918 100644 --- a/app/controllers/api/v0/exchange_products_controller.rb +++ b/app/controllers/api/v0/exchange_products_controller.rb @@ -73,8 +73,9 @@ module Api end def render_paginated_products - pagy, results = nil, products - pagy, results = pagy(results, items: params[:per_page] || DEFAULT_PER_PAGE) if pagination_required? + results = products + + @pagy, results = pagy(results, items: params[:per_page] || DEFAULT_PER_PAGE) if pagination_required? serialized_products = ActiveModel::ArraySerializer.new( results, @@ -84,7 +85,7 @@ module Api render json: { products: serialized_products, - pagination: pagination_data(pagy) + pagination: pagination_data } end diff --git a/app/controllers/api/v0/orders_controller.rb b/app/controllers/api/v0/orders_controller.rb index 5a3cd24e96..2b29c92fef 100644 --- a/app/controllers/api/v0/orders_controller.rb +++ b/app/controllers/api/v0/orders_controller.rb @@ -15,11 +15,11 @@ module Api orders = SearchOrders.new(params, current_api_user).orders - pagy, paged_orders = pagy(orders, items: params[:per_page] || default_per_page) + @pagy, paged_orders = pagy(orders, items: params[:per_page] || default_per_page) render json: { orders: serialized_orders(paged_orders), - pagination: pagination_data(pagy) + pagination: pagination_data } end diff --git a/app/controllers/api/v0/products_controller.rb b/app/controllers/api/v0/products_controller.rb index 3d1fd3ceaa..1322aa7f48 100644 --- a/app/controllers/api/v0/products_controller.rb +++ b/app/controllers/api/v0/products_controller.rb @@ -132,7 +132,7 @@ module Api end def render_paged_products(products, product_serializer = ::Api::Admin::ProductSerializer) - pagy, products = pagy(products, items: params[:per_page] || DEFAULT_PER_PAGE) + @pagy, products = pagy(products, items: params[:per_page] || DEFAULT_PER_PAGE) serialized_products = ActiveModel::ArraySerializer.new( products, @@ -141,7 +141,7 @@ module Api render json: { products: serialized_products, - pagination: pagination_data(pagy) + pagination: pagination_data } end diff --git a/app/controllers/concerns/pagination_data.rb b/app/controllers/concerns/pagination_data.rb index d5f458fe43..8c2da98381 100644 --- a/app/controllers/concerns/pagination_data.rb +++ b/app/controllers/concerns/pagination_data.rb @@ -3,12 +3,12 @@ module PaginationData extend ActiveSupport::Concern - def pagination_data(pagination) - return unless pagination.respond_to? :pages + def pagination_data + return unless defined? @pagy { - results: pagination.count, - pages: pagination.pages, + results: @pagy.count, + pages: @pagy.pages, page: (params[:page] || 1).to_i, per_page: (params[:per_page] || default_per_page).to_i }