mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
56 lines
1.6 KiB
Ruby
56 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Reporting
|
|
module Queries
|
|
module Joins
|
|
def joins_order
|
|
reflect query.join(association(Spree::LineItem, :order))
|
|
end
|
|
|
|
def joins_order_distributor
|
|
reflect query.join(association(Spree::Order, :distributor, distributor_alias))
|
|
end
|
|
|
|
def joins_variant
|
|
reflect query.join(association(Spree::LineItem, :variant))
|
|
end
|
|
|
|
def joins_variant_product
|
|
reflect query.join(association(Spree::Variant, :product))
|
|
end
|
|
|
|
def joins_variant_supplier
|
|
reflect query.join(association(Spree::Variant, :supplier, supplier_alias))
|
|
end
|
|
|
|
def joins_variant_shipping_category
|
|
reflect query.join(association(Spree::Variant, :shipping_category))
|
|
end
|
|
|
|
def joins_order_and_distributor
|
|
reflect query.
|
|
join(association(Spree::LineItem, :order)).
|
|
join(association(Spree::Order, :distributor, distributor_alias))
|
|
end
|
|
|
|
def joins_order_customer
|
|
reflect query.join(association(Spree::Order, :customer))
|
|
end
|
|
|
|
def joins_order_bill_address
|
|
reflect query.join(association(Spree::Order, :bill_address, bill_address_alias))
|
|
end
|
|
|
|
def joins_selected_shipping_methods
|
|
reflect query.
|
|
join(association(Spree::Order, :shipments)).
|
|
join(association(Spree::Shipment, :shipping_rates)).
|
|
join(shipping_method_table).on(
|
|
shipping_method_table[:id].eq(shipping_rate_table[:shipping_method_id]).
|
|
and(shipping_rate_table[:selected].eq(true))
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|