diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 241154fa..e9d05b21 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -1,6 +1,7 @@ class HomeController < ApplicationController def show - @dojo_count = Dojo.active_dojos_count + @dojo_count = Dojo.active_dojos_count @regions_and_dojos = Dojo.group_by_region_on_active + @prefectures_and_dojos = Dojo.group_by_prefecture_on_active end end diff --git a/app/helpers/dojo_helper.rb b/app/helpers/dojo_helper.rb new file mode 100644 index 00000000..db1c1f07 --- /dev/null +++ b/app/helpers/dojo_helper.rb @@ -0,0 +1,13 @@ +module DojoHelper + def dojo_count_label(count) + if count == 1 + "#{count} Dojo" + else + "#{count} Dojos" + end + end + + def total_dojos_count(dojos) + dojos.sum(&:counter) + end +end diff --git a/app/models/dojo.rb b/app/models/dojo.rb index 80420f67..8bb79b58 100644 --- a/app/models/dojo.rb +++ b/app/models/dojo.rb @@ -47,6 +47,14 @@ def group_by_region_on_active active.group_by_region end + def group_by_prefecture + eager_load(:prefecture).default_order.group_by { |dojo| dojo.prefecture.name } + end + + def group_by_prefecture_on_active + active.group_by_prefecture + end + def aggregatable_annual_count(period) Hash[ joins(:dojo_event_services) diff --git a/app/views/shared/_dojos.html+smartphone.erb b/app/views/shared/_dojos.html+smartphone.erb index 71629ad7..206a342b 100644 --- a/app/views/shared/_dojos.html+smartphone.erb +++ b/app/views/shared/_dojos.html+smartphone.erb @@ -1,33 +1,41 @@