diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-11-26 17:37:20 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-11-26 17:37:20 +0000 |
commit | 5a1fcf826ffe4c4d6e0f839138d442725cae2ab5 (patch) | |
tree | 82b6f8d8f638d2798315cc82abd352c77c45cd28 /app/models/query.rb | |
parent | 0293ba7e9f4f82788363ef699327887005db7b3e (diff) | |
download | redmine-5a1fcf826ffe4c4d6e0f839138d442725cae2ab5.tar.gz redmine-5a1fcf826ffe4c4d6e0f839138d442725cae2ab5.zip |
Sort the issue list by author/assignee according to user display format (#9669).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7938 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/query.rb')
-rw-r--r-- | app/models/query.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/app/models/query.rb b/app/models/query.rb index 55ac3d6a4..f3b83d0f4 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -36,7 +36,11 @@ class QueryColumn # Returns true if the column is sortable, otherwise false def sortable? - !sortable.nil? + !@sortable.nil? + end + + def sortable + @sortable.is_a?(Proc) ? @sortable.call : @sortable end def value(issue) @@ -136,8 +140,8 @@ class Query < ActiveRecord::Base QueryColumn.new(:status, :sortable => "#{IssueStatus.table_name}.position", :groupable => true), QueryColumn.new(:priority, :sortable => "#{IssuePriority.table_name}.position", :default_order => 'desc', :groupable => true), QueryColumn.new(:subject, :sortable => "#{Issue.table_name}.subject"), - QueryColumn.new(:author, :sortable => ["authors.lastname", "authors.firstname", "authors.id"], :groupable => true), - QueryColumn.new(:assigned_to, :sortable => ["#{User.table_name}.lastname", "#{User.table_name}.firstname", "#{User.table_name}.id"], :groupable => true), + QueryColumn.new(:author, :sortable => lambda {User.fields_for_order_statement("authors")}, :groupable => true), + QueryColumn.new(:assigned_to, :sortable => lambda {User.fields_for_order_statement}, :groupable => true), QueryColumn.new(:updated_on, :sortable => "#{Issue.table_name}.updated_on", :default_order => 'desc'), QueryColumn.new(:category, :sortable => "#{IssueCategory.table_name}.name", :groupable => true), QueryColumn.new(:fixed_version, :sortable => ["#{Version.table_name}.effective_date", "#{Version.table_name}.name"], :default_order => 'desc', :groupable => true), |