summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Provaznik <jprovaznik@gitlab.com>2018-09-17 08:27:58 +0200
committerJan Provaznik <jprovaznik@gitlab.com>2018-09-17 08:39:34 +0200
commitff54c82edeb5f805383fc95fb19198b38ac089bb (patch)
tree0ccff92b76b3ac0c3f22d084d435e51eb89d1b4d
parenta30e266e438bc511b42af1ae7c05081ce115f29e (diff)
downloadgitlab-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.rb2
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?