From 4af8765f1582f402451488511b8c7954e46ce7cf Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Fri, 27 Nov 2009 19:59:10 +0000 Subject: [PATCH] Reverts r3072 (#4302: error raised when sorting on an association not included as column). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3097 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/issues_controller.rb | 2 +- app/models/query.rb | 16 +++++----------- test/unit/query_test.rb | 9 --------- 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 1f72e8faa..2578b784b 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -64,7 +64,7 @@ class IssuesController < ApplicationController @issue_count = Issue.count(:include => [:status, :project], :conditions => @query.statement) @issue_pages = Paginator.new self, @issue_count, limit, params['page'] @issues = Issue.find :all, :order => [@query.group_by_sort_order, sort_clause].compact.join(','), - :include => ([:status, :project, :priority] + @query.include_options), + :include => [ :assigned_to, :status, :tracker, :project, :priority, :category, :fixed_version ], :conditions => @query.statement, :limit => limit, :offset => @issue_pages.current.offset diff --git a/app/models/query.rb b/app/models/query.rb index abcf09204..816c5c5a0 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -16,7 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. class QueryColumn - attr_accessor :name, :sortable, :groupable, :default_order, :include_options + attr_accessor :name, :sortable, :groupable, :default_order include Redmine::I18n def initialize(name, options={}) @@ -27,7 +27,6 @@ class QueryColumn self.groupable = name.to_s end self.default_order = options[:default_order] - self.include_options = options[:include] end def caption @@ -49,7 +48,6 @@ class QueryCustomFieldColumn < QueryColumn self.groupable = custom_field.order_statement end self.groupable ||= false - self.include_options = :custom_values @cf = custom_field end @@ -109,15 +107,15 @@ class Query < ActiveRecord::Base @@available_columns = [ QueryColumn.new(:project, :sortable => "#{Project.table_name}.name", :groupable => true), - QueryColumn.new(:tracker, :sortable => "#{Tracker.table_name}.position", :groupable => true, :include => :tracker), + QueryColumn.new(:tracker, :sortable => "#{Tracker.table_name}.position", :groupable => true), 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), - QueryColumn.new(:assigned_to, :sortable => ["#{User.table_name}.lastname", "#{User.table_name}.firstname", "#{User.table_name}.id"], :groupable => true, :include => :assigned_to), + QueryColumn.new(:assigned_to, :sortable => ["#{User.table_name}.lastname", "#{User.table_name}.firstname", "#{User.table_name}.id"], :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, :include => :category), - QueryColumn.new(:fixed_version, :sortable => ["#{Version.table_name}.effective_date", "#{Version.table_name}.name"], :default_order => 'desc', :groupable => true, :include => :fixed_version), + 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), QueryColumn.new(:start_date, :sortable => "#{Issue.table_name}.start_date"), QueryColumn.new(:due_date, :sortable => "#{Issue.table_name}.due_date"), QueryColumn.new(:estimated_hours, :sortable => "#{Issue.table_name}.estimated_hours"), @@ -324,10 +322,6 @@ class Query < ActiveRecord::Base def group_by_statement group_by_column.groupable end - - def include_options - (columns << group_by_column).collect {|column| column && column.include_options}.flatten.compact.uniq - end def project_statement project_clauses = [] diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index d2c95b449..27aed0ce8 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -202,15 +202,6 @@ class QueryTest < ActiveSupport::TestCase assert q.groupable_columns.detect {|c| c.is_a? QueryCustomFieldColumn} end - def test_include_options - q = Query.new - q.column_names = %w(subject tracker) - assert_equal [:tracker], q.include_options - - q.group_by = 'category' - assert_equal [:tracker, :category], q.include_options - end - def test_default_sort q = Query.new assert_equal [], q.sort_criteria -- 2.39.5