diff --git a/app/controllers/api/pm/issues_controller.rb b/app/controllers/api/pm/issues_controller.rb index 3c33ab02d..7c527e6cc 100644 --- a/app/controllers/api/pm/issues_controller.rb +++ b/app/controllers/api/pm/issues_controller.rb @@ -254,14 +254,15 @@ class Api::Pm::IssuesController < Api::Pm::BaseController full_link_issues_ids = full_link_issues_ids | compare_link_issues_ids i = compare_link_issues_ids.count end - exclude_issues_array = Issue.where(id: full_link_issues_ids).where.not(root_id: nil).pluck(:id, :root_id) - exclude_issues_array.each do |i| - full_link_issues_ids = full_link_issues_ids - [i[0]] if full_link_issues_ids.include?(i[1]) + exclude_issues_ids = [] + exclude_issues = Issue.where(id: full_link_issues_ids).where.not(root_id: nil) + exclude_issues.each do |i| + exclude_issues_ids << i.id if i.pm_issue_type == 1 && full_link_issues_ids.include?(i.root_id) end - - @requirement_issues = Issue.where(id:full_link_issues_ids, pm_issue_type:1).pm_includes - @task_issues = Issue.where(id:full_link_issues_ids, pm_issue_type:2).pm_includes - @bug_issues = Issue.where(id:full_link_issues_ids, pm_issue_type:3).pm_includes + full_link_issues_ids = full_link_issues_ids - exclude_issues_ids + @requirement_issues = Issue.where(id:full_link_issues_ids, pm_issue_type:1, root_id: nil).pm_includes + @task_issues = Issue.where(id:full_link_issues_ids, pm_issue_type:2, root_id: nil).pm_includes + @bug_issues = Issue.where(id:full_link_issues_ids, pm_issue_type:3, root_id: nil).pm_includes end private