diff --git a/app/controllers/api/pm/sprint_issues_controller.rb b/app/controllers/api/pm/sprint_issues_controller.rb index 1a5f555fa..0ae86ca9b 100644 --- a/app/controllers/api/pm/sprint_issues_controller.rb +++ b/app/controllers/api/pm/sprint_issues_controller.rb @@ -73,7 +73,7 @@ class Api::Pm::SprintIssuesController < Api::Pm::BaseController :assigner_id, :priority_id, :status_id, - :keyword, :pm_issue_types, + :keyword, :status_ids, :pm_issue_types, :sort_by, :sort_direction ) end diff --git a/app/services/api/pm/sprint_issues/list_service.rb b/app/services/api/pm/sprint_issues/list_service.rb index 231a84237..3f92963a3 100644 --- a/app/services/api/pm/sprint_issues/list_service.rb +++ b/app/services/api/pm/sprint_issues/list_service.rb @@ -3,7 +3,7 @@ class Api::Pm::SprintIssues::ListService < ApplicationService include ActiveModel::Model attr_reader :category, :pm_project_id, :pm_issue_type, :assigner_id, :priority_id, :status_id, :keyword, :current_user - attr_reader :pm_issue_types + attr_reader :status_ids, :pm_issue_types attr_reader :sort_by, :sort_direction attr_accessor :queried_issues @@ -21,6 +21,7 @@ class Api::Pm::SprintIssues::ListService < ApplicationService @priority_id = params[:priority_id] @status_id = params[:status_id] @keyword = params[:keyword] + @status_ids = params[:status_ids].present? ? params[:status_ids].split(',') : [] @pm_issue_types = params[:pm_issue_types].present? ? params[:pm_issue_types].split(',') : [] @sort_by = params[:sort_by].present? ? params[:sort_by] : 'issues.updated_on' @sort_direction = (params[:sort_direction].present? ? params[:sort_direction] : 'desc').downcase @@ -47,6 +48,9 @@ class Api::Pm::SprintIssues::ListService < ApplicationService issues = issues.where(status_id: @status_id) if @status_id.present? + # status_ids + issues = issues.where(status_id: @status_ids) unless @status_ids.blank? + # pm_issue_types issues = issues.where(pm_issue_type: @pm_issue_types) unless @pm_issue_types.blank?