Restore filtering investments by milestone status query

This commit makes 3 changes:

1. Extracts a query into a helper for clarity and DRYness

2. Adds a `.where` clause to filter investments based on their
(current) milestone status

3. Fixes a bug where investments would be rendered as many times as
milestones associated to an investment
This commit is contained in:
Angel Perez
2018-07-04 13:33:50 -04:00
committed by Javi Martín
parent a07a100828
commit 448ac7a158
2 changed files with 21 additions and 1 deletions

View File

@@ -0,0 +1,20 @@
module BudgetExecutionsHelper
def winner_investments(heading)
if params[:status].present?
heading.investments
.selected
.sort_by_ballots
.joins(:milestones)
.distinct
.where('budget_investment_milestones.status_id = ?', params[:status])
else
heading.investments
.selected
.sort_by_ballots
.joins(:milestones)
.distinct
end
end
end