]> source.dussan.org Git - redmine.git/commitdiff
Moves sort joins for issues to IssueQuery.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 17 Jan 2017 19:41:35 +0000 (19:41 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 17 Jan 2017 19:41:35 +0000 (19:41 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@16216 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/issue_query.rb
app/models/query.rb

index 3e2e7a64d296ed8e991aa417dee5d1f27c84b328..61750557a536fbeaafd6efa6729fc1cd52635913 100644 (file)
@@ -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
index 7a70af620200467e177ed934ad44dd129371e3cb..dc3947400c7b959ed172259f1c839f225270992b 100644 (file)
@@ -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