From 82afdc7f78581d7c209926c0cce2eaee10915c4d 2017-01-17 19:41:35 From: Jean-Philippe Lang Date: 2017-01-17 19:41:35 Subject: [PATCH] Moves sort joins for issues to IssueQuery. git-svn-id: http://svn.redmine.org/redmine/trunk@16216 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb index 3e2e7a6..6175055 100644 --- a/app/models/issue_query.rb +++ b/app/models/issue_query.rb @@ -505,4 +505,16 @@ class IssueQuery < Query IssueRelation::TYPES.keys.each do |relation_type| alias_method "sql_for_#{relation_type}_field".to_sym, :sql_for_relations end + + def joins_for_order_statement(order_options) + joins = [super] + + if order_options + if order_options.include?('authors') + joins << "LEFT OUTER JOIN #{User.table_name} authors ON authors.id = #{queried_table_name}.author_id" + end + end + + joins.any? ? joins.join(' ') : nil + end end diff --git a/app/models/query.rb b/app/models/query.rb index 7a70af6..dc39474 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -1297,9 +1297,6 @@ class Query < ActiveRecord::Base joins = [] if order_options - if order_options.include?('authors') - joins << "LEFT OUTER JOIN #{User.table_name} authors ON authors.id = #{queried_table_name}.author_id" - end order_options.scan(/cf_\d+/).uniq.each do |name| column = available_columns.detect {|c| c.name.to_s == name} join = column && column.custom_field.join_for_order_statement