From 6abd6522513820267de99709e0458f7194744341 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Thu, 6 Apr 2023 09:50:50 +0200 Subject: [PATCH 1/2] Factorize into inherited method from Base: `payment_state(order)` --- lib/reporting/reports/payments/base.rb | 6 ++++++ lib/reporting/reports/payments/itemised_payment_totals.rb | 2 +- lib/reporting/reports/payments/payment_totals.rb | 2 +- lib/reporting/reports/payments/payments_by_payment_type.rb | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/reporting/reports/payments/base.rb b/lib/reporting/reports/payments/base.rb index d2024ada6d..e2851e95a6 100644 --- a/lib/reporting/reports/payments/base.rb +++ b/lib/reporting/reports/payments/base.rb @@ -11,6 +11,12 @@ module Reporting def query_result search.result.group_by { |order| [order.payment_state, order.distributor] }.values end + + protected + + def payment_state(order) + order.payment_state + end end end end diff --git a/lib/reporting/reports/payments/itemised_payment_totals.rb b/lib/reporting/reports/payments/itemised_payment_totals.rb index b571b2b97d..8dba2b8783 100644 --- a/lib/reporting/reports/payments/itemised_payment_totals.rb +++ b/lib/reporting/reports/payments/itemised_payment_totals.rb @@ -6,7 +6,7 @@ module Reporting class ItemisedPaymentTotals < Base def columns { - payment_state: proc { |orders| orders.first.payment_state }, + payment_state: proc { |orders| payment_state(orders.first) }, distributor: proc { |orders| orders.first.distributor.name }, product_total_price: proc { |orders| orders.to_a.sum(&:item_total) }, shipping_total_price: proc { |orders| orders.sum(&:ship_total) }, diff --git a/lib/reporting/reports/payments/payment_totals.rb b/lib/reporting/reports/payments/payment_totals.rb index f194aa2aa4..06a6d1cdb4 100644 --- a/lib/reporting/reports/payments/payment_totals.rb +++ b/lib/reporting/reports/payments/payment_totals.rb @@ -6,7 +6,7 @@ module Reporting class PaymentTotals < Base def columns { - payment_state: proc { |orders| orders.first.payment_state }, + payment_state: proc { |orders| payment_state(orders.first) }, distributor: proc { |orders| orders.first.distributor.name }, product_total_price: proc { |orders| orders.to_a.sum(&:item_total) }, shipping_total_price: proc { |orders| orders.sum(&:ship_total) }, diff --git a/lib/reporting/reports/payments/payments_by_payment_type.rb b/lib/reporting/reports/payments/payments_by_payment_type.rb index 766e0efa20..67d96236be 100644 --- a/lib/reporting/reports/payments/payments_by_payment_type.rb +++ b/lib/reporting/reports/payments/payments_by_payment_type.rb @@ -15,7 +15,7 @@ module Reporting def columns { - payment_state: proc { |payments| payments.first.order.payment_state }, + payment_state: proc { |payments| payment_state(payments.first.order) }, distributor: proc { |payments| payments.first.order.distributor.name }, payment_type: proc { |payments| payments.first.payment_method.name }, total_price: proc { |payments| payments.sum(&:amount) } From e74328f1d721fa93be29f8a9ff5b5ce66d45c813 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Thu, 6 Apr 2023 10:01:03 +0200 Subject: [PATCH 2/2] Add i18n for payment state key + update spec --- lib/reporting/reports/payments/base.rb | 2 +- spec/system/admin/reports/payments_report_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/reporting/reports/payments/base.rb b/lib/reporting/reports/payments/base.rb index e2851e95a6..08867aabf8 100644 --- a/lib/reporting/reports/payments/base.rb +++ b/lib/reporting/reports/payments/base.rb @@ -15,7 +15,7 @@ module Reporting protected def payment_state(order) - order.payment_state + I18n.t "spree.payment_states.#{order.payment_state}" end end end diff --git a/spec/system/admin/reports/payments_report_spec.rb b/spec/system/admin/reports/payments_report_spec.rb index 49e1a85cee..9eee087b1a 100644 --- a/spec/system/admin/reports/payments_report_spec.rb +++ b/spec/system/admin/reports/payments_report_spec.rb @@ -86,7 +86,7 @@ describe "Payments Reports" do ].join(" ").upcase) expect(page.find("table.report__table tbody tr").text).to have_content([ - order.payment_state, + "credit owed", order.distributor.name, order.item_total.to_f + other_order.item_total.to_f, order.ship_total.to_f + other_order.ship_total.to_f,