Sort orders by last name, then first name i.e. the same way bulk order management works

This commit is contained in:
Cillian O'Ruanaidh
2023-07-28 14:20:29 +01:00
parent 774bb7a607
commit 276b94de5b
5 changed files with 20 additions and 11 deletions

View File

@@ -16,7 +16,8 @@ module Spree
searchable_attributes :number, :state, :shipment_state, :payment_state, :distributor_id,
:order_cycle_id, :email, :total, :customer_id
searchable_associations :shipping_method, :bill_address, :distributor
searchable_scopes :complete, :incomplete
searchable_scopes :complete, :incomplete, :sort_by_billing_address_name_asc,
:sort_by_billing_address_name_desc
checkout_flow do
go_to_state :address
@@ -145,6 +146,14 @@ module Spree
end
}
scope :sort_by_billing_address_name_asc, -> {
joins(:bill_address).order("spree_addresses.lastname ASC, spree_addresses.firstname ASC")
}
scope :sort_by_billing_address_name_desc, -> {
joins(:bill_address).order("spree_addresses.lastname DESC, spree_addresses.firstname DESC")
}
scope :with_line_items_variants_and_products_outer, lambda {
left_outer_joins(line_items: { variant: :product })
}