Fixes #voodoorai2000 comments

Fixes some comments from #voodoorai2000 for the PR to consul
This commit is contained in:
Juan Salvador Pérez García
2018-07-27 16:30:03 +02:00
parent a41ce7a0bd
commit 50f73abb0c
33 changed files with 541 additions and 404 deletions

View File

@@ -0,0 +1,43 @@
class Dashboard::SupportsController < Dashboard::BaseController
include Dashboard::ExpectsDateRange
def index
authorize! :dashboard, proposal
render json: accumulated_supports
end
private
def accumulated_supports
grouped_votes = grouped_supports
grouped_votes.each do |group, votes|
grouped_votes[group] = votes.inject(0) { |sum, vote| sum + vote.vote_weight }
end
accumulated = 0
grouped_votes.each do |k, v|
accumulated += v
grouped_votes[k] = accumulated
end
grouped_votes
end
def grouped_supports
if params[:group_by] == 'week'
return supports.group_by { |v| "#{v.created_at.to_date.cweek}/#{v.created_at.to_date.year}" }
end
if params[:group_by] == 'month'
return supports.group_by { |v| "#{v.created_at.to_date.year}-#{v.created_at.to_date.month}" }
end
supports.group_by { |v| v.created_at.to_date }
end
def supports
@supports ||= Vote
.where(votable: proposal, created_at: start_date.beginning_of_day..end_date.end_of_day)
.order(created_at: :asc)
end
end