From 42c1584e6f809284a04b16b2a6f5fb80ede299a0 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 22 Oct 2018 17:55:43 +0100 Subject: [PATCH] Fix pagination conflict with LineItemsCtrl requests --- .../admin/orders_controller_decorator.rb | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/app/controllers/spree/admin/orders_controller_decorator.rb b/app/controllers/spree/admin/orders_controller_decorator.rb index 88110da52f..fe8dc46445 100644 --- a/app/controllers/spree/admin/orders_controller_decorator.rb +++ b/app/controllers/spree/admin/orders_controller_decorator.rb @@ -63,12 +63,7 @@ Spree::Admin::OrdersController.class_eval do format.json do render json: { orders: ActiveModel::ArraySerializer.new(@orders, each_serializer: Api::Admin::OrderSerializer), - pagination: { - results: @orders.total_count, - pages: @orders.num_pages.to_i, - page: params[:page].to_i, - per_page: params[:per_page].to_i - } + pagination: pagination_data } end end @@ -117,7 +112,30 @@ Spree::Admin::OrdersController.class_eval do @search.result.includes([:user, :shipments, :payments]).distributed_by_user(spree_current_user) end - @search.result.page(params[:page]).per(params[:per_page] || Spree::Config[:orders_per_page]) + search_results + end + + def search_results + if using_pagination? + @search.result.page(params[:page]).per(params[:per_page] || Spree::Config[:orders_per_page]) + else + @search.result + end + end + + def using_pagination? + params[:per_page] + end + + def pagination_data + if using_pagination? + { + results: @orders.total_count, + pages: @orders.num_pages, + page: params[:page].to_i, + per_page: params[:per_page].to_i + } + end end def require_distributor_abn