##// END OF EJS Templates
Query project_statement - do not collect ids of subtree (#21611)....
Jean-Philippe Lang -
r14753:4cae62d8e869
parent child
Show More
@@ -567,22 +567,24 class Query < ActiveRecord::Base
567 567 def project_statement
568 568 project_clauses = []
569 569 if project && !project.descendants.active.empty?
570 ids = [project.id]
571 570 if has_filter?("subproject_id")
572 571 case operator_for("subproject_id")
573 572 when '='
574 573 # include the selected subprojects
575 ids += values_for("subproject_id").each(&:to_i)
574 ids = [project.id] + values_for("subproject_id").each(&:to_i)
575 project_clauses << "#{Project.table_name}.id IN (%s)" % ids.join(',')
576 576 when '!*'
577 577 # main project only
578 project_clauses << "#{Project.table_name}.id = %d" % project.id
578 579 else
579 580 # all subprojects
580 ids += project.descendants.collect(&:id)
581 project_clauses << "#{Project.table_name}.lft >= #{project.lft} AND #{Project.table_name}.rgt <= #{project.rgt}"
581 582 end
582 583 elsif Setting.display_subprojects_issues?
583 ids += project.descendants.collect(&:id)
584 project_clauses << "#{Project.table_name}.lft >= #{project.lft} AND #{Project.table_name}.rgt <= #{project.rgt}"
585 else
586 project_clauses << "#{Project.table_name}.id = %d" % project.id
584 587 end
585 project_clauses << "#{Project.table_name}.id IN (%s)" % ids.join(',')
586 588 elsif project
587 589 project_clauses << "#{Project.table_name}.id = %d" % project.id
588 590 end
General Comments 0
You need to be logged in to leave comments. Login now