@@ -567,22 +567,24 class Query < ActiveRecord::Base | |||||
567 | def project_statement |
|
567 | def project_statement | |
568 | project_clauses = [] |
|
568 | project_clauses = [] | |
569 | if project && !project.descendants.active.empty? |
|
569 | if project && !project.descendants.active.empty? | |
570 | ids = [project.id] |
|
|||
571 | if has_filter?("subproject_id") |
|
570 | if has_filter?("subproject_id") | |
572 | case operator_for("subproject_id") |
|
571 | case operator_for("subproject_id") | |
573 | when '=' |
|
572 | when '=' | |
574 | # include the selected subprojects |
|
573 | # include the selected subprojects | |
575 |
ids |
|
574 | ids = [project.id] + values_for("subproject_id").each(&:to_i) | |
|
575 | project_clauses << "#{Project.table_name}.id IN (%s)" % ids.join(',') | |||
576 | when '!*' |
|
576 | when '!*' | |
577 | # main project only |
|
577 | # main project only | |
|
578 | project_clauses << "#{Project.table_name}.id = %d" % project.id | |||
578 | else |
|
579 | else | |
579 | # all subprojects |
|
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 | end |
|
582 | end | |
582 | elsif Setting.display_subprojects_issues? |
|
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 | end |
|
587 | end | |
585 | project_clauses << "#{Project.table_name}.id IN (%s)" % ids.join(',') |
|
|||
586 | elsif project |
|
588 | elsif project | |
587 | project_clauses << "#{Project.table_name}.id = %d" % project.id |
|
589 | project_clauses << "#{Project.table_name}.id = %d" % project.id | |
588 | end |
|
590 | end |
General Comments 0
You need to be logged in to leave comments.
Login now