diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2018-09-17 08:27:58 +0200 |
---|---|---|
committer | Jan Provaznik <jprovaznik@gitlab.com> | 2018-09-17 08:39:34 +0200 |
commit | ff54c82edeb5f805383fc95fb19198b38ac089bb (patch) | |
tree | 0ccff92b76b3ac0c3f22d084d435e51eb89d1b4d | |
parent | a30e266e438bc511b42af1ae7c05081ce115f29e (diff) | |
download | gitlab-ce-rails5-milestone-groups.tar.gz |
Pass group IDs to MilestonesFinderrails5-milestone-groups
MilestonesFinder expects group ids in group_ids parameter (it does
`Array(params[:group_ids])`), but DashboardGroupMilestone.build_collection
was passing subquery instead. This doesn't work in rails 5 because
this evaluates into array of NULLs in the final query.
Because a separate query is used for loading group IDs both in rails4
and rails5 we can explicitly pass array of IDs to the MilestonesFinder
instead of subquery anyway.
`select.map` is used because `pluck` is failing with:
`undefined method `map' for #<Arel::Nodes::SqlLiteral...>`
-rw-r--r-- | app/models/dashboard_group_milestone.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/app/models/dashboard_group_milestone.rb b/app/models/dashboard_group_milestone.rb index 067e14dda1c..b6e4182d90f 100644 --- a/app/models/dashboard_group_milestone.rb +++ b/app/models/dashboard_group_milestone.rb @@ -13,7 +13,7 @@ class DashboardGroupMilestone < GlobalMilestone end def self.build_collection(groups) - MilestonesFinder.new(group_ids: groups.select(:id)).execute.map { |m| new(m) } # rubocop: disable CodeReuse/Finder + MilestonesFinder.new(group_ids: groups.select(:id).map(&:id)).execute.map { |m| new(m) } # rubocop: disable CodeReuse/Finder end override :group_milestone? |