diff --git a/app/models/budget.rb b/app/models/budget.rb index c5af34f7..2abfe2cf 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -10,7 +10,7 @@ class Budget < ApplicationRecord monetize :budgeted_spending, :expected_income, :allocated_spending, :actual_spending, :available_to_spend, :available_to_allocate, - :estimated_spending, :estimated_income, :actual_income + :estimated_spending, :estimated_income, :actual_income, :remaining_expected_income class << self def for_date(date) @@ -19,12 +19,13 @@ class Budget < ApplicationRecord def find_or_bootstrap(family, date: Date.current) Budget.transaction do - budget = Budget.find_or_create_by( + budget = Budget.find_or_create_by!( family: family, start_date: date.beginning_of_month, - end_date: date.end_of_month, - currency: family.currency - ) + end_date: date.end_of_month + ) do |b| + b.currency = family.currency + end budget.sync_budget_categories diff --git a/app/views/budget_categories/_budget_category_form.html.erb b/app/views/budget_categories/_budget_category_form.html.erb index 9b7a1cad..efd98dc9 100644 --- a/app/views/budget_categories/_budget_category_form.html.erb +++ b/app/views/budget_categories/_budget_category_form.html.erb @@ -8,7 +8,7 @@
<%= budget_category.category.name %>
-<%= format_money(budget_category.category.avg_monthly_total, precision: 0) %>/m average
+<%= format_money(Money.new(budget_category.category.avg_monthly_total, budget_category.currency), precision: 0) %>/m average
<%= budget_category.category.name %>
-<%= format_money(budget_category.category.avg_monthly_total, precision: 0) %>/m average
+<%= format_money(Money.new(budget_category.category.avg_monthly_total, budget_category.category.family.currency), precision: 0) %>/m average
<%= format_money(budget.actual_income_money) %> earned
<% if budget.remaining_expected_income.negative? %> - <%= format_money(budget.remaining_expected_income.abs) %> over + <%= format_money(budget.remaining_expected_income_money.abs) %> over <% else %> - <%= format_money(budget.remaining_expected_income) %> left + <%= format_money(budget.remaining_expected_income_money) %> left <% end %>
diff --git a/app/views/settings/preferences/show.html.erb b/app/views/settings/preferences/show.html.erb index 8b066503..7af910e2 100644 --- a/app/views/settings/preferences/show.html.erb +++ b/app/views/settings/preferences/show.html.erb @@ -12,8 +12,7 @@ <%= form.fields_for :family do |family_form| %> <%= family_form.select :currency, currencies_for_select.map { |currency| [ "#{currency.name} (#{currency.iso_code})", currency.iso_code ] }, - { label: t(".currency") }, - { data: { auto_submit_form_target: "auto" } } %> + { label: t(".currency") }, disabled: true %> <%= family_form.select :locale, language_options,