mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-26 01:33:22 +00:00
44 lines
1.1 KiB
Ruby
44 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module ReportsHelper
|
|
def report_order_cycle_options(order_cycles)
|
|
order_cycles.map do |oc|
|
|
orders_open_at = oc.orders_open_at&.to_fs(:short) || 'NA'
|
|
orders_close_at = oc.orders_close_at&.to_fs(:short) || 'NA'
|
|
# rubocop:disable Rails/OutputSafety
|
|
["#{oc.name} (#{orders_open_at} - #{orders_close_at})".html_safe, oc.id]
|
|
# rubocop:enable Rails/OutputSafety
|
|
end
|
|
end
|
|
|
|
def report_payment_method_options(orders)
|
|
orders.map do |order|
|
|
payment_method = order.payments.last&.payment_method
|
|
|
|
next unless payment_method
|
|
|
|
[payment_method.name, payment_method.id]
|
|
end.compact.uniq
|
|
end
|
|
|
|
def report_shipping_method_options(orders)
|
|
orders.map do |o|
|
|
sm = o.shipping_method
|
|
[sm&.name, sm&.id]
|
|
end.uniq
|
|
end
|
|
|
|
def customer_email_options(order_customers)
|
|
order_customers.map do |customer|
|
|
[customer&.email, customer&.id]
|
|
end
|
|
end
|
|
|
|
delegate :currency_symbol, to: :'Spree::Money'
|
|
|
|
def datepicker_time(datetime)
|
|
datetime = Time.zone.parse(datetime) if datetime.is_a? String
|
|
datetime.strftime('%Y-%m-%d %H:%M')
|
|
end
|
|
end
|