Extract method to get investment milestone status

This commit is contained in:
Javi Martín
2018-11-13 13:25:47 +01:00
parent 91d91f2ebf
commit b4b0b18a2d
3 changed files with 8 additions and 6 deletions

View File

@@ -15,9 +15,7 @@ module Budgets
if params[:status].present? if params[:status].present?
@budget.investments.winners @budget.investments.winners
.joins(:milestones).includes(:milestones) .joins(:milestones).includes(:milestones)
.select { |i| i.milestones.published.with_status .select { |i| i.milestone_status_id == params[:status].to_i }
.order_by_publication_date.last
.try(:status_id) == params[:status].to_i }
.uniq .uniq
.group_by(&:heading) .group_by(&:heading)
else else

View File

@@ -1,9 +1,9 @@
module BudgetExecutionsHelper module BudgetExecutionsHelper
def filters_select_counts(status) def filters_select_counts(status)
@budget.investments.winners.with_milestones.select { |i| i.milestones @budget.investments.winners.with_milestones.select do |investment|
.published.with_status.order_by_publication_date investment.milestone_status_id == status
.last.status_id == status rescue false }.count end.count
end end
def first_milestone_with_image(investment) def first_milestone_with_image(investment)

View File

@@ -342,6 +342,10 @@ class Budget
self.valuator_groups.collect(&:name).compact.join(', ').presence self.valuator_groups.collect(&:name).compact.join(', ').presence
end end
def milestone_status_id
milestones.published.with_status.order_by_publication_date.last&.status_id
end
private private
def set_denormalized_ids def set_denormalized_ids