From cd01a27bddf9e90743da83939b022b696a622298 Mon Sep 17 00:00:00 2001 From: Ahmed Ejaz Date: Sun, 15 Jun 2025 18:13:07 +0500 Subject: [PATCH] Add distributor_name_alias to searchable attributes and implement ransacker for filtering line items --- .../line_items/controllers/line_items_controller.js.coffee | 2 +- app/models/spree/order.rb | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee b/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee index d27787f764..1ebebf2bbb 100644 --- a/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee +++ b/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee @@ -19,7 +19,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, $scope.page = 1 $scope.per_page = $scope.per_page_options[0].id $scope.filterByVariantId = null - searchThrough = ["order_distributor_name", + searchThrough = ["order_distributor_name_alias", "order_bill_address_phone", "order_bill_address_firstname", "order_bill_address_lastname", diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 909cb1a529..6b9134ce4f 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -9,7 +9,7 @@ module Spree include SetUnusedAddressFields searchable_attributes :number, :state, :shipment_state, :payment_state, :distributor_id, - :order_cycle_id, :email, :total, :customer_id + :order_cycle_id, :email, :total, :customer_id, :distributor_name_alias searchable_associations :shipping_method, :bill_address, :distributor searchable_scopes :complete, :incomplete, :sort_by_billing_address_name_asc, :sort_by_billing_address_name_desc @@ -181,6 +181,11 @@ module Spree scope :by_state, lambda { |state| where(state:) } scope :not_state, lambda { |state| where.not(state:) } + # This is used to filter line items by the distributor name on BOM page + ransacker :distributor_name_alias do + Arel.sql("distributor.name") + end + def initialize(*_args) @checkout_processing = nil @manual_shipping_selection = nil