diff --git a/app/services/api/pm/sprint_issues/list_service.rb b/app/services/api/pm/sprint_issues/list_service.rb index b77d074b7..231a84237 100644 --- a/app/services/api/pm/sprint_issues/list_service.rb +++ b/app/services/api/pm/sprint_issues/list_service.rb @@ -3,6 +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 :sort_by, :sort_direction attr_accessor :queried_issues @@ -20,6 +21,7 @@ class Api::Pm::SprintIssues::ListService < ApplicationService @priority_id = params[:priority_id] @status_id = params[:status_id] @keyword = params[:keyword] + @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 @current_user = current_user @@ -45,6 +47,9 @@ class Api::Pm::SprintIssues::ListService < ApplicationService issues = issues.where(status_id: @status_id) if @status_id.present? + # pm_issue_types + issues = issues.where(pm_issue_type: @pm_issue_types) unless @pm_issue_types.blank? + issues = issues.ransack(subject_cont: @keyword).result if @keyword.present? scope = issues.includes(:priority, :issue_status, :user, :show_assigners, :show_issue_tags, :version, :comment_journals)