Преглед изворни кода

Query project_statement - do not collect ids of subtree (#21611).

Patch by Ondřej Ezr.

git-svn-id: http://svn.redmine.org/redmine/trunk@15135 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/3.3.0
Jean-Philippe Lang пре 8 година
родитељ
комит
4cae62d8e8
1 измењених фајлова са 7 додато и 5 уклоњено
  1. 7
    5
      app/models/query.rb

+ 7
- 5
app/models/query.rb Прегледај датотеку

@@ -567,22 +567,24 @@ class Query < ActiveRecord::Base
def project_statement
project_clauses = []
if project && !project.descendants.active.empty?
ids = [project.id]
if has_filter?("subproject_id")
case operator_for("subproject_id")
when '='
# include the selected subprojects
ids += values_for("subproject_id").each(&:to_i)
ids = [project.id] + values_for("subproject_id").each(&:to_i)
project_clauses << "#{Project.table_name}.id IN (%s)" % ids.join(',')
when '!*'
# main project only
project_clauses << "#{Project.table_name}.id = %d" % project.id
else
# all subprojects
ids += project.descendants.collect(&:id)
project_clauses << "#{Project.table_name}.lft >= #{project.lft} AND #{Project.table_name}.rgt <= #{project.rgt}"
end
elsif Setting.display_subprojects_issues?
ids += project.descendants.collect(&:id)
project_clauses << "#{Project.table_name}.lft >= #{project.lft} AND #{Project.table_name}.rgt <= #{project.rgt}"
else
project_clauses << "#{Project.table_name}.id = %d" % project.id
end
project_clauses << "#{Project.table_name}.id IN (%s)" % ids.join(',')
elsif project
project_clauses << "#{Project.table_name}.id = %d" % project.id
end

Loading…
Откажи
Сачувај