diff --git a/app/controllers/entries_controller.rb b/app/controllers/entries_controller.rb index e4a9370..8c15a1d 100644 --- a/app/controllers/entries_controller.rb +++ b/app/controllers/entries_controller.rb @@ -76,6 +76,7 @@ class EntriesController < ApplicationController @selbstsupervision_by_year = Entry.total_supervision_by_year(current_user) @selbsterfahrungskosten_by_year = Entry.total_selbsterfahrungskosten_by_year(current_user) @allekosten_by_year = Entry.total_semesterkosten_by_year(current_user) + @gesamtkosten_by_year = Entry.total_gesamtkosten_by_year(current_user) # Voraussichtliches Ende je Kombination basierend auf weekly_target_matrix # diff --git a/app/models/entry.rb b/app/models/entry.rb index 149c285..14b2f62 100644 --- a/app/models/entry.rb +++ b/app/models/entry.rb @@ -102,6 +102,20 @@ class Entry < ApplicationRecord .to_h end + def self.total_gesamtkosten_by_year(user) + semester_by_year = total_semesterkosten_by_year(user) + km_by_year = total_kilometer_cost_by_year(user) + + years = (semester_by_year.keys + km_by_year.keys).uniq.sort.reverse + + years.each_with_object({}) do |year, out| + semester = (semester_by_year[year] || 0).to_d + km = (km_by_year[year] || 0).to_d + out[year] = (semester + km).round(2) + end + end + + def jahr date.year end diff --git a/app/views/entries/index.html.erb b/app/views/entries/index.html.erb index 82efce5..e37e234 100644 --- a/app/views/entries/index.html.erb +++ b/app/views/entries/index.html.erb @@ -163,8 +163,8 @@
<%= year %>: <%= number_to_currency(sum, unit: "โฌ", separator: ",", delimiter: ".", precision: 2) %>