From 34811d8fd874db04283e819599600a377920b63a Mon Sep 17 00:00:00 2001 From: Jakub Kottnauer Date: Mon, 20 May 2024 15:55:45 +0200 Subject: [PATCH] Fix currency when importing to foreign accounts (#762) --- app/models/import.rb | 3 ++- app/views/imports/transactions/_transaction.html.erb | 2 +- app/views/imports/transactions/_transaction_group.html.erb | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/import.rb b/app/models/import.rb index 39deb9c3..895b142b 100644 --- a/app/models/import.rb +++ b/app/models/import.rb @@ -115,7 +115,8 @@ class Import < ApplicationRecord name: row["name"] || "Imported transaction", date: Date.iso8601(row["date"]), category: category, - amount: BigDecimal(row["amount"]) * -1 # User inputs amounts with opposite signage of our internal representation + amount: BigDecimal(row["amount"]) * -1, # User inputs amounts with opposite signage of our internal representation + currency: account.currency transactions << txn end diff --git a/app/views/imports/transactions/_transaction.html.erb b/app/views/imports/transactions/_transaction.html.erb index 202e0ca7..3d221d96 100644 --- a/app/views/imports/transactions/_transaction.html.erb +++ b/app/views/imports/transactions/_transaction.html.erb @@ -7,6 +7,6 @@
- <%= content_tag :p, format_money(-transaction.amount), class: ["whitespace-nowrap", BigDecimal(transaction.amount).negative? ? "text-green-600" : "text-red-600"] %> + <%= content_tag :p, format_money(Money.new(-transaction.amount, @import.account.currency)), class: ["whitespace-nowrap", BigDecimal(transaction.amount).negative? ? "text-green-600" : "text-red-600"] %>
diff --git a/app/views/imports/transactions/_transaction_group.html.erb b/app/views/imports/transactions/_transaction_group.html.erb index 19c1ed4c..fae98792 100644 --- a/app/views/imports/transactions/_transaction_group.html.erb +++ b/app/views/imports/transactions/_transaction_group.html.erb @@ -5,7 +5,7 @@

<%= date.strftime("%b %d, %Y") %> · <%= transactions.size %>

- <%= format_money -transactions.sum { |t| t.amount } %> + <%= format_money Money.new(-transactions.sum { |t| t.amount }, @import.account.currency) %>
<%= render partial: "imports/transactions/transaction", collection: transactions %>