diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index cff3b1b28..4eb8d5288 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -1,6 +1,6 @@ class OrganizationsController < ApplicationController include AhoyTracking - before_action :set_organization, only: [ :show, :edit, :update, :destroy ] + before_action :set_organization, only: [ :show, :edit, :update, :destroy, :populations_served ] def index authorize! @@ -118,6 +118,19 @@ def set_index_variables @organization_statuses = OrganizationStatus.all end + def populations_served + authorize! @organization + + people = @organization.users.includes(:person).map(&:person).compact + + sector_counts = Hash.new(0) + people.each do |person| + primary_sector = person.sectors.first + sector_counts[primary_sector] += 1 if primary_sector + end + @sectors_by_people = sector_counts.sort_by { |_sector, count| -count } +end + private def set_organization diff --git a/app/views/organizations/populations_served.html.erb b/app/views/organizations/populations_served.html.erb new file mode 100644 index 000000000..7c1a42300 --- /dev/null +++ b/app/views/organizations/populations_served.html.erb @@ -0,0 +1,25 @@ +
No sectors found for this organization.
+ <% end %> + +None selected.
<% end %> +