diff --git a/app/controllers/credit_cards_controller.rb b/app/controllers/credit_cards_controller.rb index 41316db9..5854c9fa 100644 --- a/app/controllers/credit_cards_controller.rb +++ b/app/controllers/credit_cards_controller.rb @@ -27,7 +27,7 @@ class CreditCardsController < ApplicationController def account_params params.require(:account) .permit( - :name, :balance, :start_date, :start_balance, :currency, :accountable_type, + :name, :balance, :institution_id, :start_date, :start_balance, :currency, :accountable_type, accountable_attributes: [ :id, :available_credit, diff --git a/app/controllers/loans_controller.rb b/app/controllers/loans_controller.rb index 65d3fdc3..b084e566 100644 --- a/app/controllers/loans_controller.rb +++ b/app/controllers/loans_controller.rb @@ -27,7 +27,7 @@ class LoansController < ApplicationController def account_params params.require(:account) .permit( - :name, :balance, :start_date, :start_balance, :currency, :accountable_type, + :name, :balance, :institution_id, :start_date, :start_balance, :currency, :accountable_type, accountable_attributes: [ :id, :rate_type, diff --git a/app/controllers/properties_controller.rb b/app/controllers/properties_controller.rb index b15c5f86..71d46f0e 100644 --- a/app/controllers/properties_controller.rb +++ b/app/controllers/properties_controller.rb @@ -27,7 +27,7 @@ class PropertiesController < ApplicationController def account_params params.require(:account) .permit( - :name, :balance, :start_date, :start_balance, :currency, :accountable_type, + :name, :balance, :institution_id, :start_date, :start_balance, :currency, :accountable_type, accountable_attributes: [ :id, :year_built, diff --git a/app/controllers/vehicles_controller.rb b/app/controllers/vehicles_controller.rb index edfc6def..e9822b9b 100644 --- a/app/controllers/vehicles_controller.rb +++ b/app/controllers/vehicles_controller.rb @@ -27,7 +27,7 @@ class VehiclesController < ApplicationController def account_params params.require(:account) .permit( - :name, :balance, :start_date, :start_balance, :currency, :accountable_type, + :name, :balance, :institution_id, :start_date, :start_balance, :currency, :accountable_type, accountable_attributes: [ :id, :make, diff --git a/app/models/account.rb b/app/models/account.rb index b6920e9e..61d473d8 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -83,7 +83,8 @@ class Account < ApplicationRecord end def original_balance - balances.chronological.first&.balance || balance + balance_amount = balances.chronological.first&.balance || balance + Money.new(balance_amount, currency) end def owns_ticker?(ticker) diff --git a/app/models/credit_card.rb b/app/models/credit_card.rb index 467c103a..5c8bb0ae 100644 --- a/app/models/credit_card.rb +++ b/app/models/credit_card.rb @@ -1,3 +1,15 @@ class CreditCard < ApplicationRecord include Accountable + + def available_credit_money + available_credit ? Money.new(available_credit, account.currency) : nil + end + + def minimum_payment_money + minimum_payment ? Money.new(minimum_payment, account.currency) : nil + end + + def annual_fee_money + annual_fee ? Money.new(annual_fee, account.currency) : nil + end end diff --git a/app/models/loan.rb b/app/models/loan.rb index cc6dbcb5..11eb3058 100644 --- a/app/models/loan.rb +++ b/app/models/loan.rb @@ -3,12 +3,12 @@ class Loan < ApplicationRecord def monthly_payment return nil if term_months.nil? || interest_rate.nil? || rate_type.nil? || rate_type != "fixed" - return Money.new(0, account.currency) if account.original_balance.zero? || term_months.zero? + return Money.new(0, account.currency) if account.original_balance.amount.zero? || term_months.zero? annual_rate = interest_rate / 100.0 monthly_rate = annual_rate / 12.0 - payment = (account.original_balance * monthly_rate * (1 + monthly_rate)**term_months) / ((1 + monthly_rate)**term_months - 1) + payment = (account.original_balance.amount * monthly_rate * (1 + monthly_rate)**term_months) / ((1 + monthly_rate)**term_months - 1) Money.new(payment.round, account.currency) end diff --git a/app/views/accounts/accountables/credit_card/_overview.html.erb b/app/views/accounts/accountables/credit_card/_overview.html.erb index fcedf192..10864d04 100644 --- a/app/views/accounts/accountables/credit_card/_overview.html.erb +++ b/app/views/accounts/accountables/credit_card/_overview.html.erb @@ -2,15 +2,15 @@
<%= @account.property.address %>
<% end %>