Skip to content

Commit 580333c

Browse files
committed
[admin] refactor transfers section: avoid N+1 and DRY
1 parent de95e00 commit 580333c

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

app/admin/transfer.rb

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
ActiveAdmin.register Transfer do
2+
includes :post, movements: { account: [:accountable, :organization] }
3+
4+
actions :index, :destroy
5+
26
action_item :upload_csv, only: :index do
37
link_to I18n.t("active_admin.users.upload_from_csv"), action: "upload_csv"
48
end
@@ -18,16 +22,11 @@
1822
id_column
1923
column :post
2024
column :reason
21-
column :source do |transfer|
22-
acc = transfer.movements.find_by('amount < 0').account.accountable
23-
acc.class.name == "Member" ? acc.user : acc
24-
end
25-
column :destination do |transfer|
26-
acc = transfer.movements.find_by('amount > 0').account.accountable
27-
acc.class.name == "Member" ? acc.user : acc
25+
column "From - To" do |transfer|
26+
accounts_from_movements(transfer, with_links: true).join(" #{glyph(:arrow_right)} ").html_safe
2827
end
2928
column :amount do |transfer|
30-
transfer.movements.find_by('amount > 0').amount
29+
seconds_to_hm(transfer.movements.first.amount.abs)
3130
end
3231
column :created_at do |transfer|
3332
l transfer.created_at.to_date, format: :long

0 commit comments

Comments
 (0)