From 53baf983b581c4114e9e09d878cc2f63ff08f7ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Salvador=20P=C3=A9rez=20Garc=C3=ADa?= Date: Fri, 29 Jun 2018 12:56:20 +0200 Subject: [PATCH] Implements #169 Community counter now shows the community members. For performance reasons this information is refresed once per hour. --- app/controllers/dashboard/base_controller.rb | 10 ++++++++-- app/views/layouts/dashboard/_proposal_totals.html.erb | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/controllers/dashboard/base_controller.rb b/app/controllers/dashboard/base_controller.rb index ef408425a..ae2ef7d17 100644 --- a/app/controllers/dashboard/base_controller.rb +++ b/app/controllers/dashboard/base_controller.rb @@ -1,7 +1,7 @@ class Dashboard::BaseController < ApplicationController before_action :authenticate_user! - helper_method :proposal, :proposed_actions, :resource, :resources, :next_goal_supports, :next_goal_progress + helper_method :proposal, :proposed_actions, :resource, :resources, :next_goal_supports, :next_goal_progress, :community_members_count respond_to :html layout 'proposals_dashboard' @@ -9,7 +9,7 @@ class Dashboard::BaseController < ApplicationController private def proposal - @proposal ||= Proposal.find(params[:proposal_id]) + @proposal ||= Proposal.includes(:community).find(params[:proposal_id]) end def proposed_actions @@ -27,4 +27,10 @@ class Dashboard::BaseController < ApplicationController def next_goal_progress @next_goal_progress ||= (proposal.votes_for.size * 100) / next_goal_supports.to_i end + + def community_members_count + Rails.cache.fetch("community/#{proposal.community.id}/participants_count", expires_in: 1.hour) do + proposal.community.participants.count + end + end end diff --git a/app/views/layouts/dashboard/_proposal_totals.html.erb b/app/views/layouts/dashboard/_proposal_totals.html.erb index 835afaa52..df7a60388 100644 --- a/app/views/layouts/dashboard/_proposal_totals.html.erb +++ b/app/views/layouts/dashboard/_proposal_totals.html.erb @@ -16,7 +16,7 @@
-
0
+
<%= community_members_count %>
<%= t('.community') %>