diff options
Diffstat (limited to 'app/finders/milestones_finder.rb')
-rw-r--r-- | app/finders/milestones_finder.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/finders/milestones_finder.rb b/app/finders/milestones_finder.rb index 8f0cdf3b255..16e59b31b36 100644 --- a/app/finders/milestones_finder.rb +++ b/app/finders/milestones_finder.rb @@ -3,6 +3,7 @@ # Search for milestones # # params - Hash +# ids - filters by id. # project_ids: Array of project ids or single project id or ActiveRecord relation. # group_ids: Array of group ids or single group id or ActiveRecord relation. # order - Orders by field default due date asc. @@ -21,6 +22,7 @@ class MilestonesFinder def execute items = Milestone.all + items = by_ids(items) items = by_groups_and_projects(items) items = by_title(items) items = by_search_title(items) @@ -32,6 +34,12 @@ class MilestonesFinder private + def by_ids(items) + return items unless params[:ids].present? + + items.id_in(params[:ids]) + end + def by_groups_and_projects(items) items.for_projects_and_groups(params[:project_ids], params[:group_ids]) end |