mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-30 21:27:17 +00:00
50 lines
1.5 KiB
Ruby
50 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Reporting
|
|
module Reports
|
|
module Packing
|
|
class Customer < Base
|
|
def select_fields
|
|
lambda do
|
|
{
|
|
hub: default_blank(distributor_alias[:name]),
|
|
customer_code: default_blank(masked(customer_table[:code])),
|
|
first_name: default_blank(masked(bill_address_alias[:firstname])),
|
|
last_name: default_blank(masked(bill_address_alias[:lastname])),
|
|
supplier: default_blank(supplier_alias[:name]),
|
|
product: default_string(product_table[:name], summary_row_title),
|
|
variant: default_blank(variant_full_name),
|
|
quantity: sum_values(line_item_table[:quantity]),
|
|
temp_controlled: boolean_blank(shipping_category_table[:temperature_controlled]),
|
|
}
|
|
end
|
|
end
|
|
|
|
def ordering_fields
|
|
lambda do
|
|
[
|
|
distributor_alias[:name],
|
|
bill_address_alias[:lastname],
|
|
order_table[:id],
|
|
sql_grouping(grouping_fields),
|
|
Arel.sql("supplier"),
|
|
Arel.sql("product"),
|
|
Arel.sql("variant"),
|
|
]
|
|
end
|
|
end
|
|
|
|
def group_sets
|
|
lambda do
|
|
[
|
|
distributor_alias[:name],
|
|
bill_address_alias[:lastname],
|
|
grouping_sets([parenthesise(order_table[:id]), parenthesise(grouping_fields)])
|
|
]
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|